過去問ドリル

動作確認用サンプル LinuCレベル1試験 問題 問4

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

bashのシェルスクリプトにおいて、変数へ値を代入する書き方として正しいものをすべて選べ。

出典:動作確認用サンプル LinuCレベル1試験 問題 問4

正解:A、C

解説

シェル(bash等)では、変数への代入は「変数名=値」の形式で、=の前後にスペースを入れません。値にスペースを含める場合はダブルクォートまたはシングルクォートで囲みます。変数を参照するときにのみ先頭に$を付け、代入時に$を付けると別のコマンドとして解釈されエラーになります。

選択肢ごとの解説

  • A正しい。NAME=value は基本的な代入の書き方です。=の前後にスペースを入れないのが規則です。
  • B誤り。=の前後にスペースがあると、シェルはNAMEをコマンド名と解釈しようとしてしまい、代入になりません。
  • C正しい。値にスペースを含める場合はダブルクォートで囲むことで1つの値として代入できます。
  • D誤り。代入時に$を付けると、変数展開後の文字列をコマンドとして実行しようとしてしまい、代入にはなりません($は参照時のみ使います)。
LinuCレベル1の過去問を演習モードで解く