locale コマンド

目的

現行ロケールまたはすべての共用ロケールに関する情報を標準出力に書き出します。

構文

locale [ -O 64 ][ -a | -m ] | [ [ -c ] [ -k ] Name ... ]

説明

locale コマンドは、現行ロケールまたはすべての共用ロケールに関する情報を標準出力に書き出します。 共用ロケールとは、すべてのアプリケーションに使用できるロケールです。

各現行ロケール・カテゴリーの名前と値を書き込むには、フラグまたは変数を何も指定しません。 使用可能なすべての共用ロケールの名前を書き込むには、-a フラグを指定します。 使用可能なすべての文字マッピング (charmap) ファイルの名前のリストを書き込むには、-m フラグを指定します。 これらの charmap ファイル名は、localedef コマンドで指定する -f フラグに有効な値です。

指定したロケール・カテゴリーと現行ロケール内のキーワードに関する情報を書き込むには、Name パラメーターを指定します。 Name パラメーターには、次のいずれかを指定することができます。

  • LC_CTYPE または LC_MESSAGES などのロケール・カテゴリー
  • yesexpr または decimal_point などのキーワード
  • 現在の文字マッピングを判別するための charmap 予約語

locale コマンドでは複数の Name パラメーターを指定できます。

ロケール・カテゴリー名を指定し、フラグを付けずに locale コマンドを指定すると、locale コマンドは Name パラメーターで指定されたロケール・カテゴリー内のすべてのキーワードの値を書き込みます。 ロケール・キーワードを指定し、フラグを付けずに locale コマンドを指定すると、locale コマンドは Name パラメーターで指定されたキーワードの値を書き込みます。

Name パラメーターがロケール・カテゴリー名またはキーワードであれば、-c および -k フラグを指定して、locale コマンドで表示される情報を決定することができます。

フラグ

項目 説明
-a 使用できる共用ロケールのすべての名前を書き込みます。
-c 指定したロケール・カテゴリーの名前を書き込みます。 Name パラメーターがキーワードであれば、locale コマンドは指定されたキーワードが入っているロケール・カテゴリーの名前、および指定されたキーワードの値を書き込みます。 Name パラメーターがロケール・カテゴリーであれば、locale コマンドは指定されたロケール・カテゴリーの名前とそのロケール・カテゴリーの中のすべてのキーワードの値を書き込みます。
-k 選択したキーワードの名前と変数を書き込みます。 Name パラメーターがキーワードであれば、locale コマンドは指定されたキーワードの名前と値を書き込みます。 Name パラメーターがロケール・カテゴリーであれば、locale コマンドは指定されたロケール・カテゴリー内のすべてのキーワードの名前と値を書き込みます。
-m 使用可能なすべての文字マッピング (charmap) ファイルの名前を書き込みます。
-ck ロケール・カテゴリーの名前を書き込んでから、選択されたキーワードの名前と値を書き込みます。 Name パラメーターがキーワードであれば、locale コマンドは指定されたキーワードが入っているロケール・カテゴリーの名前と、指定されたキーワードの名前と値を書き込みます。 Name パラメーターがロケール・カテゴリーであれば、locale コマンドは指定されたロケール・カテゴリーの名前と、そのロケール・カテゴリーの中のすべてのキーワードの名前と値を書き込みます。
-O 64 64 ビットの実行可能ファイルで表示されるロケール情報を表示します。 この情報は、32 ビット実行可能ファイルで表示される情報と同じであるはずです。

終了状況

このコマンドは次の終了値を戻します。

項目 説明
0 要求した情報はすべて検出され、正常に出力されました。
>0 エラーが発生しました。

  1. すべての現行ロケール環境変数の名前と値を取り出すには、次のように入力します。
    locale
    locale_xlocale_y が、 locale -a によって判別されるシステム上で有効なロケールであり、 ロケール環境変数が次のように設定されているものと仮定すると、
    
    LANG=locale_x
    LC_COLLATE=locale_y
    locale コマンドは、次の出力を作成します。
    LANG=locale_x
    LC_CTYPE="locale_x"
    LC_COLLATE=locale_y
    LC_TIME="locale_x"
    LC_NUMERIC="locale_x"
    LC_MONETARY="locale_x"
    LC_MESSAGES="locale_x"
    LC_ALL=

    注: ロケール変数を設定すると、値の一部は他のロケール変数の値を暗黙に指定します。 例えば、LC_ALL ロケール変数を En_US ロケールに設定すると、すべてのロケール環境変数は En_US ロケールに設定されます。 また、暗黙値は二重引用符 (") で囲みます。 明示的に設定する値は二重引用符 (") で囲みません。

  2. 現在の文字マッピングを判別するには、次のように入力します。
    locale charmap
    LC_ALL ロケール変数を C ロケールに設定すると、locale コマンドは次の出力を作成します。
    ISO8859-1
  3. 現行ロケールの decimal_point 区切り記号の値を取り出すには、次のように入力します。
    locale  -ck  decimal_point
    LC_ALL ロケール変数を C ロケールに設定すると、locale コマンドは次の出力を作成します。
    LC_NUMERIC
    decimal_point="."