LC_ALL=C 中的 C 是什么意思?

LC_ALL=C 中的 C 是什么意思?

我很清楚,要覆盖区域设置,我们可以将LC_ALL其添加到要运行的命令前面。我还知道C使用系统的默认区域设置。但是 代表什么呢C

答案1

C代表 C 编程语言。它是POSIX语言环境的同义词。

http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html#tag_07_02

可以通过为适当的环境变量分配值“C”或“POSIX”来指定 POSIX 区域设置。

答案2

唯一的坚硬的我可以从伟大的 Patrick Volkerding 编写的一些 Slackware 文档中找到提示。他在文件中/etc/profile.d/lang.sh做出了以下评论:

# 'C' is the old Slackware (and UNIX) default, which is 127-bit ASCII
# with a charmap setting of ANSI_X3.4-1968.  These days, it's better to
# use en_US.UTF-8 or another modern $LANG setting (or at least en_US)
# to support extended character sets.
#export LANG=C

我不会透露“C”的实际含义,但我会猜测'C' 是这个最低且最安全的区域设置的别名....我知道不是很令人满意 :(。

要在 Slackware 包中亲自查看此评论,请尝试以下步骤:

wget http://slackware.osuosl.org/slackware-14.2/source/a/etc/_etc.tar.gz
tar -zxvf _etc.tar.gz etc/profile.d/lang.sh.new --strip-components 2

然后lang.sh.new用您喜欢的文本编辑器打开该文件...

相关内容