過去問ドリル

LinuCレベル1 シェルおよびスクリプト 問7

シェルおよびスクリプト/シェルスクリプト

シェルスクリプトのwhileループに関する説明として、正しいものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「シェルおよびスクリプト」に対応。実際の試験問題ではありません)

正解:D

解説

whileループは、条件式が「真」である間処理を繰り返すループです。反対に、条件式が「偽」である間繰り返すのはuntilループの動作です。for 変数 in リスト; do ... done は、リストの各要素を順に変数に代入しながら処理を繰り返す構文で、要素を1つも処理せずスキップするわけではありません。if文の条件判定には、testコマンド(角括弧[ ]も同等)やコマンドの終了ステータス(0なら真、0以外なら偽)を使うことができます。シェルスクリプトにはif・for・while等の制御構造が用意されており、単純な上から下への逐次実行だけではありません。

選択肢ごとの解説

  • A誤り。if文の条件判定には、testコマンドやコマンドの終了ステータスを使うことができます。
  • B誤り。シェルスクリプトにはif・for・while等の制御構造があり、単純な上から下への逐次実行だけではありません。
  • C誤り。for 変数 in リスト; do ... done は、リストの要素を順に処理するループで、要素を1つも処理せずスキップすることはありません。
  • D正しい。whileループは条件式が「真」である間処理を繰り返します。「偽である間繰り返す」のはuntilループの動作です。
LinuCレベル1の問題を演習モードで解く