オリジナル問題 LinuCレベル1試験 問題 問1
GNUとUnixのコマンド/コマンドラインの操作シェル変数 $? の説明として正しいものはどれか。
出典:オリジナル問題 LinuCレベル1試験 問題 問1
- A直前に実行したコマンドの終了ステータス
- B現在のシェルのプロセスID
- Cシェルスクリプトに渡された引数の数
- Dカレントディレクトリのパス
正解:A
解説
$? は、直前に実行したコマンド(またはパイプライン、シェル関数)の終了ステータスを保持する特殊シェル変数です。正常終了は0、異常終了は0以外の値になります。シェルスクリプトで直前のコマンドが成功したかどうかを判定する際に使います。
選択肢ごとの解説
- A正しい。$? は直前のコマンドの終了ステータスを表します。
- B誤り。現在のシェルのプロセスIDを表すのは $$ です。
- C誤り。シェルスクリプトに渡された引数の数を表すのは $# です。
- D誤り。カレントディレクトリのパスは pwd コマンドや $PWD 変数で取得します。