1.03.1標準
LOCAL_ONLY=secretは現在のBashに設定済みだがexportされていない。
環境変数だけでなく、このシェル変数も含む定義一覧から確認する。
適切なコマンドはどれか。
× 不正解
Bashのsetは現在のシェル状態にある変数などを表示する。envやexport -pは環境へ公開された変数を中心に扱う。
詳細解説
正しい
set現在のシェルの変数や関数などを表示し、未export変数も確認できる。
正しい。setの出力には現在のシェルだけにあるLOCAL_ONLYも含まれる。
誤り
env現在のプロセス環境を表示し、未exportのLOCAL_ONLYを含めない。
誤り。envはプロセス環境を表示するため、exportされていないLOCAL_ONLYを表示しない。
誤り
export -pexport属性を持つ名前を表示し、未export変数を対象にしない。
誤り。export -pは子環境へ公開する対象だけを列挙し、LOCAL_ONLYは対象外である。
誤り
unset引数なしで変数一覧を表示するコマンドではない。
誤り。unsetは削除対象の名前を必要とし、一覧表示の照会コマンドではない。
実際に確かめる
一時的な検証環境で実行できる例です。
LOCAL_ONLY=secret; set | grep '^LOCAL_ONLY='期待される結果
LOCAL_ONLY=secret理解のポイント
- setはshell variables
- envはenvironment
- export -pはexported names
確認時の注意
- 確認環境: Bash 5.x / 現在のシェル状態のみ
基礎のおさらい
状態の包含関係
Bashは多数のシェル変数を持ち、その一部へexport属性を付けて環境へ含める。
出力の大きさ
setは関数定義なども含んで長くなり得るため、必要な名前をgrep等で絞れる。
問題IDKL-101-438
確認環境Bash 5.x / 現在のシェル状態のみ
最終技術確認2026-08-13
誤り・権利侵害を報告