オリジナル問題 LinuCレベル1試験 問題 問11
GNUとUnixのコマンド/ストリーム、パイプ、リダイレクトの使用command1 && command2 の意味として正しいものはどれか。
出典:オリジナル問題 LinuCレベル1試験 問題 問11
- Acommand1が成功(終了ステータス0)した場合にのみcommand2を実行する
- Bcommand1とcommand2を並行して実行する
- Ccommand1が失敗した場合にのみcommand2を実行する
- Dcommand1の出力をcommand2の入力に渡す
正解:A
解説
&&は、直前のコマンドが成功(終了ステータス0)した場合にのみ、続くコマンドを実行する論理積の制御演算子です。反対に||は、直前のコマンドが失敗した場合にのみ続くコマンドを実行します。パイプ|とは異なり、&&やコマンドの出力を次のコマンドの入力へ渡す機能はありません。
選択肢ごとの解説
- A正しい。&&はcommand1が成功した場合にのみcommand2を実行します。
- B誤り。&&は逐次的な条件付き実行であり、並行実行ではありません。
- C誤り。この動作をするのは||(論理和)です。
- D誤り。コマンドの出力を次のコマンドの入力に渡すのはパイプ|の役割です。