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 @ 2022-05-11 15:42  mingtian是吧  阅读(302)  评论(0编辑  收藏  举报