GNU/Linux >> Linux の 問題 >  >> Linux

LANG=C は多くの /etc/init.d/* スクリプトにあります。 LANG=C の機能と、LANG=C を設定する必要がある理由。

アプリケーションが出力にデフォルト言語を使用することを強制し、並べ替えをバイト単位にすることを強制します。

$ LANG=es_ES man
¿Qué página de manual desea?
$ LANG=C man
What manual page do you want?
$ LANG=en_US sort <<< $'a\nb\nA\nB'
a
A
b
B
$ LANG=C sort <<< $'a\nb\nA\nB'
A
B
a
b

すでに説明したように、08 環境変数はローカリゼーションを制御します。

12 などの多くの標準コマンドライン ツールに影響します。 、 2038 .

その値を「C」に設定すると、基本的な ASCII 文字のみを考慮し、UTF-8 マルチバイト マッチを無効にするようにすべてのツールに指示します。

その環境変数を使用するローカリゼーション以外のもう 1 つの正当な理由は、パフォーマンスです。 53 で 1000 倍高速 バージョン <2.7 :http://rg03.wordpress.com/2009/09/09/gnu-grep-is-slow-on-utf-8/

「安全な」基本ロケールを指定するために文字「C」が使用される理由については、Why "LANG=C"? を参照してください。 (D、E、F ではない)


LANG=C は、ローカリゼーションを無効にする方法です。現在の言語によって異なる可能性があるプログラム出力を予測するために、スクリプトで使用されます。詳細については、こちらをお読みください


Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Systemdは/etc/init.dスクリプトをどのように使用しますか?

  3. grpck コマンド – /etc/group および /etc/gshadow ファイル内の破損したエントリまたは重複したエントリを削除します。

  1. /、/boot、/home、swap に割り当てるサイズ

  2. /usr/sbin、/usr/local/sbin、/usr/local/bin の意味は何ですか?

  3. Linux の /etc/init.d と /etc/rcX.d ディレクトリの間の接続は何ですか?

  1. /home、/usr、/var などのディレクトリがすべて同じ inode 番号 (2) を持っているのはなぜですか?

  2. 「set -e」は何をしますか?なぜ危険と見なされるのでしょうか?

  3. /etc/pam.d/login と /etc/pam.d/system-auth の違いは?