为什么LC_ALL
在 Linux 和 Unix 机器上默认总是未设置?
例如,在 Linux 上:
root@icubes:[~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
在 AIX 上:
root@matic:[/]# locale
LANG=en_US
LC_COLLATE="en_US"
LC_CTYPE="en_US"
LC_MONETARY="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_MESSAGES="en_US"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
LC_ALL 的目的是覆盖所有其他语言环境设置(即LANG
和LC_*
)。如果您设置此变量,您将无法再轻松地自定义(时间、数字等)个别设置。
它基本上是一个调试工具,用于当您需要快速制作特定程序以在完全不同的语言环境中运行时。