Environment variable LC_ALL is always unset by default. why LC_ALL is unset?

2

Why LC_ALL is always unset by default on Linux and Unix machines?

For example, on 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=

And here on 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=

Sudheer Chigullapally

Posted 2014-11-20T07:07:05.000

Reputation: 53

Good question ! – another – 2018-05-09T08:07:20.500

Answers

4

The purpose of LC_ALL is to override all other locale settings (i.e. LANG and LC_*). If you set this variable, you cannot easily customize the (time, numeric, etc.) individual settings anymore.

It is basically a debugging tool, for when you need to quickly make a specific program to run in a completely different locale.

user1686

Posted 2014-11-20T07:07:05.000

Reputation: 283 655