過去問ドリル

LinuCレベル1 GNUとUnixのコマンド 問1

GNUとUnixのコマンド/コマンドラインの操作

シェル変数 $? の説明として正しいものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「GNUとUnixのコマンド」に対応。実際の試験問題ではありません)

正解:C

解説

$? は、直前に実行したコマンド(またはパイプライン、シェル関数)の終了ステータスを保持する特殊シェル変数です。正常終了は0、異常終了は0以外の値になります。シェルスクリプトで直前のコマンドが成功したかどうかを判定する際に使います。

選択肢ごとの解説

  • A誤り。現在のシェルのプロセスIDを表すのは $$ です。
  • B誤り。シェルスクリプトに渡された引数の数を表すのは $# です。
  • C正しい。$? は直前のコマンドの終了ステータスを表します。
  • D誤り。カレントディレクトリのパスは pwd コマンドや $PWD 変数で取得します。
LinuCレベル1の問題を演習モードで解く