地域設定プログラムはどのように機能しますか?

地域設定プログラムはどのように機能しますか?

プログラムlocaleは、プログラムを開始したプロセスのロケール変数を印刷します。以下は、localeシェルから起動したときの出力例です。

LANG=en_US.UTF-8
LANGUAGE=
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=

この情報はどこで入手できますか? (シェルには4つのロケール環境変数しかないため、localeこの情報はシェル環境変数から継承されないことを知っています。)locale

ベストアンサー1

その環境変数の値に基づいてロケールを処理する方法を知り、それを取得します。

GNUバージョンを例にすると、次のように始まります。呼ぶsetlocale (LC_ALL, "")現在のロケールを設定します。それでは全部苦しむだろうロケールカテゴリLANG、(最初に印刷)、LC_ALL(最後に印刷)を除いて各値を順番に印刷します。これらの値は、環境値を確認し、ロケールに適用される規則に従って決定されます。

  • 設定すると、LC_ALLすべてのカテゴリがその値を使用します。
  • カテゴリに環境に設定された値がない場合は、LANG「POSIX」の値がある場合はその値を取り、それ以外の場合は「POSIX」の値を取り、その値は次に含まれます。二重引用符

おすすめ記事