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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏