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

Ser*_*nyy 14 locale environment-variables

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

use*_*274 17

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

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

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

  • 同样的想法,但可能是由于 `gettext` 的第一个实现是用 C 语言实现的。也不是“系统的默认语言环境”,而是“每个应用程序的默认语言环境”。开发人员可以使用与 `en_US` 或 `en` 不同的原始/源语言环境。可以是阿拉伯语、中文、法语、德语、日语……没关系。 (2认同)

and*_*.46 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
Run Code Online (Sandbox Code Playgroud)

在不透露“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
Run Code Online (Sandbox Code Playgroud)

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