1.08.3基礎
LANG=ja_JP.UTF-8とLC_TIME=ja_JP.UTF-8が設定済みである。
すべてのロケールカテゴリを一時的にCへ上書きする。
追加する設定はどれか。
× 不正解
LC_ALLは全ロケールカテゴリに対する最優先の一括上書きである。
詳細解説
誤り
LANG=C個別LC_*が設定済みなら、そのカテゴリではLANGより優先される。
LANGは既定値なので、既に設定されたLC_TIMEなどを上書きできない。
誤り
LC_TIME=C日時カテゴリだけを変更する。
LC_TIMEだけがCとなり、メッセージや照合順など他カテゴリは変わらない。
誤り
LC_CTYPE=C文字分類カテゴリだけを変更する。
LC_CTYPEだけがCとなり、すべてのカテゴリを一括固定しない。
正しい
LC_ALL=CすべてのカテゴリでLANGと個別LC_*を上書きする。
LC_ALL=CはLANGと全ての個別LC_*より優先され、全カテゴリをCへする。
実際に確かめる
一時的な検証環境で実行できる例です。
LANG=ja_JP.UTF-8 LC_TIME=ja_JP.UTF-8 LC_ALL=C locale | sed -n '1,6p'期待される結果
各LC_*の有効値がCとなる表示理解のポイント
- LC_ALLが最優先
- 個別LC_*より強い
- 通常は一時上書き向け
確認時の注意
- 確認環境: POSIX locale / 子プロセス環境だけ変更
基礎のおさらい
優先順位
LC_ALL、対応するLC_*、LANGの順で各カテゴリの有効値を決める。
永続設定への注意
LC_ALLは個別調整を無効化するため、常設より診断やコマンド単位の一時固定に向く。
問題IDKL-102-1058
確認環境POSIX locale / 子プロセス環境だけ変更
最終技術確認2026-08-13
誤り・権利侵害を報告