1.03.1基礎
現在のBashでAPP_MODE=testingは設定済みだが、まだexportされていない。
値を変えずに、以後起動する子プロセスから参照可能にする。
追加するコマンドはどれか。
× 不正解
export NAMEは既存シェル変数へexport属性を付け、以後起動する子プロセスの環境へ渡す。
詳細解説
誤り
echo APP_MODE文字列を表示するだけで変数属性を変更しない。
誤り。echo APP_MODEは名前を文字列として表示するだけで、子プロセスへ値を渡さない。
誤り
set APP_MODE位置パラメータを変更し得るが、APP_MODEへexport属性を付けない。
誤り。set APP_MODEは位置パラメータをAPP_MODEに設定し得るが、同名変数のexport属性操作ではない。
誤り
env APP_MODEenvはこの引数をコマンド名として扱い、既存変数をexportしない。
誤り。env APP_MODEはAPP_MODEというコマンドを環境内で起動しようとし、親の変数属性を変更しない。
正しい
export APP_MODE現在の値を保ったままexport属性を付け、子の環境へ含める。
正しい。export APP_MODEはtestingという既存値を維持したまま、子の環境へ継承対象にする。
実際に確かめる
一時的な検証環境で実行できる例です。
APP_MODE=testing; export APP_MODE; bash -c 'printf "%s\n" "$APP_MODE"'期待される結果
testing理解のポイント
- exportは環境へ公開
- 値は変更しない
- 子から親へは戻らない
確認時の注意
- 確認環境: Bash 5.x / 子Bash
基礎のおさらい
シェル変数と環境
シェル変数のうちexportされたものが、外部コマンド起動時の環境へ複製される。
継承方向
子は受け取った環境を変更できるが、その変更は既存の親プロセスへ戻らない。
問題IDKL-101-433
確認環境Bash 5.x / 子Bash
最終技術確認2026-08-13
誤り・権利侵害を報告