私はシェルスクリプトですべてのロケール固有の違いを無効にしたいと思います。好ましい方法は何ですか?
LANG=C
またはLC_ALL=C
ベストアンサー1
LANG
デフォルトのロケールを設定し、つまり特定の設定(など)が提供されなくなったLC_COLLATE
ときに使用されるロケールです。これは設定をオーバーライドせず、デフォルト値を提供します。一方、すべてのロケールをオーバーライドします。LC_NUMERIC
LC_TIME
LC_ALL
したがって、スクリプト設定を上書きするには、設定する必要がありますLC_ALL
。
を実行して設定の効果を確認できますlocale
。これは見せる計画された例で明示的に設定されていないすべてのロケールカテゴリの値(引用符)は、オーバーライドするLANG
代わりにLC_NUMERIC
デフォルト値が提供されます。環境にLC_ALL
およびが設定されていない場合、LC_NUMERIC
ロケールは引用符で示されているとおりに表示されLANG
たlocale
値から取得されます。LC_NUMERIC
バラよりlocales
マンページそして環境変数のPOSIX定義もっと学ぶ。また、見ることができます地域設定プログラムはどのように機能しますか?