HOMEサンプル問題・例題解説101試験の例題と解説103.4 ストリーム、パイプ、リダイレクトを使う

101試験の例題と解説

103.4ストリーム、パイプ、リダイレクトを使う

今回は、101試験の出題範囲から「103.4 ストリーム、パイプ、リダイレクトを使う」についての例題を解いてみます。

■例題
OBJECTIVE: 1.103.4 TYPE: mc 
What command would send the output of cmd1 to the input of cmd2?
cmd1 | cmd2
cmd1 || cmd2
cmd1 && cmd2
cmd1 ; cmd2
cmd1 cmd2

■例題の翻訳
「cmd1の出力をcmd2の入力に送るコマンドはどれですか?

※この例題は、実際のLPIC試験とは異なります。

解答と解説

答えは 各選択肢の意味を一つずつ見ていきましょう。

・cmd1 | cmd2
これはパイプでcmd1の標準出力を、cmd2の標準入力に渡します。
これが正解です。

・cmd1 || cmd2
これはOR制御演算子です。cmd1の終了ステータスが0以外の場合、cmd2を実行します。cmd1がエラーやその他の何かを起こした時にcmd2が実行されることになります。

・cmd1 && cmd2
これはAND制御演算子です。cmd1の終了ステータスが0の場合、cmd2を実行します。cmd1がエラーを起こさなかった時にcmd2が実行されることになります。

・cmd1 ; cmd2
これは単なる順次実行です。cmd1の終了ステータスに関係なく、cmd2を実行します。

・cmd1 cmd2
cmd2をcmd1の引数として与えてcmd1を実行しています。
選択肢の中で入出力のストリームを操作するコマンドは1番最初の選択肢だけでした。3つはシェルのコマンド実行制御に関係して おり、この出題範囲には関係ありませんが、実際のコマンドライン作業やシェルスクリプトの作成においては重要なポイントです。
特にOR制御演算子の「終了ステータスが0以外」という点に注意です。
これはエラーではなく、正常終了以外の何かという意味になるので、しっかりと覚えておきましょう。

ストリームの操作にはパイプ以外にリダイレクトがあります。
リダイレクトの方が種類が多いので、次回はリダイレクトについて整理してみます。
  • 今回の解説について、理解できないポイントがあればどんどん質問を。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※上記の解説とその内容については、例題作成者の監修です。
    内容や試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

このページのトップへ