105.1標準
現在のBashが持つシェル変数と関数定義を確認する。
export済み環境変数だけに限定しない。
引数なしで用いる適切な組込みコマンドはどれか。
× 不正解
引数なしのsetは現在のシェル変数と関数を表示する。envは子プロセスへ渡す環境、export -pはexport属性付きの名前に範囲が限られる。
詳細解説
誤り
envコマンド環境を表示し、未exportのシェル変数や関数を網羅しない。
誤り。未exportのLOCAL_ONLY等はプロセス環境に含まれず、関数も通常のenv一覧には現れない。
誤り
export -pexport属性を持つ名前だけを再利用可能な形式で表示する。
誤り。再入力可能なexport宣言を表示するが、exportされていないローカルシェル変数を除外する。
正しい
set現在のシェル変数と関数を一覧表示する。
正しい。引数なしのsetは現在のシェル変数と関数定義をソートして表示する。
誤り
unset名前を削除する操作で、一覧表示ではない。
誤り。引数なしでは要求する一覧用途にならず、名前指定時は定義を削除する。
実際に確かめる
一時的な検証環境で実行できる例です。
bash --noprofile --norc -c 'LOCAL_ONLY=value; demo(){ :; }; set' | grep -E '^(LOCAL_ONLY=value|demo \(\))'期待される結果
LOCAL_ONLY=valueとdemo ()の関数定義理解のポイント
- setはシェル状態
- envは環境
- export -pはexport済み
確認時の注意
- 確認環境: GNU Bash 5.2 / 一時シェル
基礎のおさらい
shell variable
現在のシェルが管理する名前で、export属性がなければ子プロセス環境へ入らない。
environment
プロセス起動時に渡される名前・値で、envやprintenvで確認できる。
問題IDKP-105-614
確認環境GNU Bash 5.2 / 一時シェル
最終技術確認2026-08-13
誤り・権利侵害を報告