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


14

我非常了解,要覆盖语言环境设置,我们可以LC_ALL在要运行的命令之前使用前缀。我也知道C使用系统的默认语言环境。但是代表什么C呢?



@ andrew.46回答。如果您可以找到Slackware文档的链接,那就更好了,我会接受
Sergiy Kolodyazhnyy


@Melebius当然,Gilles一如既往地拥有正确的答案。好消息,+ 1
Sergiy Kolodyazhnyy

Answers:


1

我唯一能得到的可靠提示就是伟大的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使用您喜欢的文本编辑器打开文件...


16

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

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

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


好吧,这样。。。。我应该阅读该链接的哪一部分?请编辑您的帖子,以实际正确引用该链接
Sergiy Kolodyazhnyy 2016年

2
同样的想法,但是可能是由于第一种实现gettext是使用C语言实现的。同样不是“系统的默认语言环境”,而是“每个应用程序的默认语言环境”。开发人员可以使用与en_US或不同的原始/源语言环境en。可能是阿拉伯文,中文,法文,德文,日文...没关系。
user.dz '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.