Locale
LANG=C 和 LC_ALL=C 有什麼區別?
我喜歡禁用 shell 腳本中所有特定於語言環境的差異。首選的方法是什麼?
LANG=C
或者LC_ALL=C
LANG
設置預設語言環境,即在沒有提供更具體的設置( 、 等)時使用的LC_COLLATE
語言LC_NUMERIC
環境LC_TIME
;它不會覆蓋任何設置,它提供基值。LC_ALL
另一方面覆蓋所有區域設置。因此,要覆蓋腳本的設置,您應該設置
LC_ALL
.您可以通過執行來檢查設置的效果
locale
。它以引號顯示所有未明確設置的語言環境類別的計算值;在您的範例中,LANG
不是覆蓋LC_NUMERIC
,而是提供預設值。如果LC_ALL
和LC_NUMERIC
未在環境中設置,則語言環境取自LANG
,並locale
顯示 的值LC_NUMERIC
,如引號所示。