シェル変数 FOO を定義したが、子プロセスから参照できなかった。子プロセスでも参照できるようにするための正しい説明はどれか。

LPIC-1(101/102 試験)「シェルとスクリプト」の練習問題。正解と選択肢ごとの個別解説つきで、過去問対策・例題演習に。

LPIC-1 / シェルとスクリプト
  1. シェル変数はすべて自動的に子プロセスへ継承される
  2. export FOO で環境変数化すれば子プロセスへ継承される✓ 正解
  3. set FOO とすると継承されるようになる
  4. unset FOO とすれば継承される
💡 通常のシェル変数はそのシェル内でのみ有効で、子プロセスへは継承されません。export で環境変数にすることで初めて子プロセスへ引き継がれます。
✕ シェル変数はすべて自動的に子プロセスへ継承される:シェル変数は定義したシェル内でのみ有効で、自動的には子プロセスへ継承されません。
○ export FOO で環境変数化すれば子プロセスへ継承される:正解。export FOO で環境変数化すると、その後起動する子プロセスへ値が継承されます。
✕ set FOO とすると継承されるようになる:set は変数の継承を行うコマンドではなく、シェル変数やオプションの表示/設定用です。
✕ unset FOO とすれば継承される:unset は変数を削除するコマンドで、継承させる機能はありません。
▶ この分野をクイズ形式で解く