LC_ALL=C的含义

LC_ALL=C的含义

在很多的shell脚本中,我们经常会看见某一句命令的前面有一句“LC_ALL=C”

SAR_CMD="LC_ALL=C sar -u -b 1 5 | grep -i average "

这到底是什么意思?

LC_ALL=C 是为了去除所有本地化的设置,让命令能正确执行。

[root@ceph ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8" 用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等
LC_NUMERIC="zh_CN.UTF-8" 非货币的数字显示格式
LC_TIME="zh_CN.UTF-8" 时间和日期格式
LC_COLLATE="zh_CN.UTF-8" 定义该环境的排序和比较规则
LC_MONETARY="zh_CN.UTF-8" 货币格式
LC_MESSAGES="zh_CN.UTF-8" 提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL= 如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。"C"是系统默认的locale,"POSIX""C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。
"POSIX" :Specifies the minimal environment for C-language translation called the POSIX locale. If setlocale() is not invoked, the POSIX locale is the default"C"

工作中我们一般使用如下命令指定

LANG=C; export LANG
LC_ALL=C; export LC_ALL
posted @   mingtian是吧  阅读(394)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示