SolarisでLC_ALLを設定すると、どのような影響がありますか?

SolarisでLC_ALLを設定すると、どのような影響がありますか?

/etc/profileインストールしたばかりのアプリケーションをサポートするために、Solaris 10 UNIXサーバー上のファイルに次のコマンドを追加するように求められました。

LC_ALL=en_US.UTF-8; export LC_ALL

その結果、現在定義されていないサーバーの「ロケール」が変更されます(デフォルトは「C」)。

私の質問:これを変更しない理由はありますか?

あるいは、変数をエクスポートしてアプリケーションを実行し、再び「オフにする」スクリプトを書くことを想像できます。私はこれをすることには気にしませんが、そのような変化の意味を実際に理解していません。

/etc/default/initまた、ファイルにも同じ変更を加えることができることを学びました。これがより良い解決策でしょうか?

ベストアンサー1

LC_ALL他のすべての設定よりもパフォーマンスが優れています。この設定をシステム全体で設定しないことをお勧めします。これは、他の設定を使用したいすべてのアプリケーションまたはユーザーが最初にその設定を無効にする必要があることを意味するためですLC_ALL

代わりに、アプリケーションに特定のロケールが必要な場合は、ラッパースクリプトで実行してください。

#!/bin/sh
LC_ALL=en_US.UTF-8 exec /path/to/application "$@"

おすすめ記事