103.1標準
LAB_LOCAL=readyを設定したがexportしていない。
現在のBashが保持する変数としてLAB_LOCALを確認する。
適切なコマンドはどれか。
× 不正解
Bashのsetはシェル変数も表示する。envとprintenvは環境を対象とするため、未export変数との違いを確認できる。
詳細解説
誤り
env | grep '^LAB_LOCAL='envは子へ渡す環境を表示するため、未export変数は通常含まれない。
未exportのLAB_LOCALは環境に含まれないため表示されない。
誤り
printenv LAB_LOCALprintenvも環境変数を対象とし、未export変数を表示しない。
printenvも環境だけを見るためLAB_LOCALを取得できない。
誤り
unset LAB_LOCAL確認する前に変数を削除する。
変数を削除する操作であり、確認にならない。
正しい
set | grep '^LAB_LOCAL='setの出力には現在のシェル変数が含まれる。
正解。setの一覧には未exportのシェル変数も含まれる。
実際に確かめる
一時的な検証環境で実行できる例です。
LAB_LOCAL=ready
set | grep '^LAB_LOCAL='期待される結果
LAB_LOCAL=ready理解のポイント
- シェル変数
- 環境変数
- setとenvの違い
確認時の注意
- 確認環境: Bash 5.2
基礎のおさらい
シェル変数
現在のシェルだけが持つ値で、exportしなければ子へ自動継承されない。
環境変数
プロセス起動時に子へ渡すNAME=VALUEの集合である。
問題IDKP-103-027
確認環境Bash 5.2
最終技術確認2026-08-12
誤り・権利侵害を報告