默认情况下,环境变量 LC_ALL 始终未设置。为什么 LC_ALL 未设置?

Sud*_*lly 3 linux unix locale

为什么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)

use*_*686 6

LC_ALL 的目的是覆盖所有其他语言环境设置(即LANGLC_*)。如果您设置此变量,您将无法再轻松地自定义(时间、数字等)个别设置。

它基本上是一个调试工具,用于当您需要快速制作特定程序以在完全不同的语言环境中运行时。