Linux基礎:LPIC対策問題 141-150

問題141:シェルスクリプトのコメント行に使う記号は?

A) //
B) #
C) --
D) ;;

解答解説を開く
正解) B

解説
A) 誤り。C言語風。
B) 正解。# がコメント。
C) 誤り。SQL風。
D) 誤り。case文用。

問題142:終了ステータスで「0」が意味するものはどれですか?

A) コマンドが失敗した
B) コマンドが成功した
C) コマンドが未実行
D) コマンドが中断された

解答解説を開く
正解) B

解説
A) 誤り。失敗は0以外。
B) 正解。0は成功を意味する。
C) 誤り。未実行では値は設定されない。
D) 誤り。中断でも0以外になる。

問題143:alias la='ls -la' の説明として最も適切なのはどれか。

A) la を実行するとla -laになる
B) la を実行するとls -laが実行される
C) ls -la が削除される
D) la は一度だけ有効になる

解答解説を開く
正解) B

解説
A) 自己参照にはならない。
B) 別名にコマンド列を割り当てて短縮実行できる。
C) コマンドの削除ではない。
D) シェル終了まで有効(永続化は.bashrc等)

問題144:「echo 'Hello, $name'」としたときの挙動はどれですか?

A) 変数展開され「Hello, 値」が表示される
B) 変数は展開されず「Hello, $name」が表示される
C) エラーになる
D) 値が必ず大文字に変換される

解答解説を開く
正解) B

解説
A) 誤り。シングルクォートでは展開されない。
B) 正解。文字列そのまま出力。
C) 誤り。エラーにはならない。
D) 誤り。大文字変換の機能はない。

問題145:「echo "Hello, $name"」としたときの挙動はどれですか?

A) 変数展開され「Hello, 値」が表示される
B) 展開されず「Hello, $name」が表示される
C) エラーになる
D) 値が空文字になる

解答解説を開く
正解) A

解説
A) 正解。ダブルクォートでは展開される。
B) 誤り。展開は抑制されない。
C) 誤り。構文エラーではない。
D) 誤り。空文字にはならない。

問146:環境変数を設定する正しい方法はどれですか?

A) export VAR=value
B) set VAR=value
C) env VAR value
D) echo VAR=value

解答解説を開く
正解) A

解説
A) 正解。exportで環境変数を設定。
B) 誤り。setはシェル変数の表示や設定。
C) 誤り。envの構文が不正。
D) 誤り。echoは出力するだけ。

問題147:次のうち、シェル変数と環境変数の両方を表示するコマンドはどれですか?

A) set
B) printenv
C) env
D) alias

解答解説を開く
正解) A

解説
A) 正解。setは両方を表示。
B) 誤り。printenvは環境変数のみ。
C) 誤り。envも環境変数のみ。
D) 誤り。aliasは別物。

問題148:PATHに含まれないディレクトリのコマンドを実行する方法として正しいものはどれですか?

A) そのコマンドをechoで出力する
B) 絶対パスで指定する
C) setコマンドを使う
D) aliasを作成する

解答解説を開く
正解) B

解説
A) 誤り。echoは出力するだけ。
B) 正解。絶対パス指定で実行可能。
C) 誤り。setではPATHに追加できない。
D) 誤り。エイリアスでは解決できない。

問題149:次のコマンド「ls -l /etc | less」でlessコマンドに渡されるのはどれですか?

A) /etc ディレクトリの内容そのもの
B) lsコマンドの標準出力
C) lsコマンドの標準エラー出力
D) PATH変数

解答解説を開く
正解) B

解説
A) 誤り。直接ではなく出力。
B) 正解。パイプは標準出力を次に渡す。
C) 誤り。標準エラーはパイプされない。
D) 誤り。PATHは関係ない。

問題150:echo "Hello, $name" と echo 'Hello, $name' の違いとして正しいものはどれか。

A) 両方とも変数展開される
B) 両方とも展開されない
C) 前者は展開、後者は文字列として$nameが出る
D) 前者はエラー、後者は展開

解答解説を開く
正解) C

解説
A) 誤り。
B) 誤り。
C) ダブルクォートは展開、シングルはリテラル。
D) 前者はエラーにならない。