過去問ドリル

オリジナル問題 LinuCレベル1試験 問題 問7

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

シェルスクリプトの条件分岐・繰り返しに関する説明として、正しいものをすべて選べ。

出典:オリジナル問題 LinuCレベル1試験 問題 問7

正解:A、B

解説

if文は、testコマンド(角括弧[ ]も同等)やコマンドの終了ステータス(0なら真、0以外なら偽)によって条件を判定します。for 変数 in リスト; do ... done は、リストの各要素を順に変数に代入しながら処理を繰り返す構文です。whileループは条件式が「真」である間処理を繰り返すループで、「偽である間繰り返す」という説明は誤りです(それはuntilループの動作です)。シェルスクリプトにはif・for・while等の制御構造が用意されており、「制御構造が存在しない」という説明も誤りです。

選択肢ごとの解説

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