LPIC-1 102試験 模試④:05-08

問題05:次の変数展開において正しい結果を生成するものはどれですか。
MY_VAR="Hello World"
echo "${MY_VAR:6:5}"

A) Hello
B) World
C) ello
D) ld

解答解説を開く
正解)B

【解説】
A) 誤りです。部分文字列は World を出力します。
B) 正解です。6 は開始位置、5 は文字数を指定します。
C) 誤りです。ello はこのスライスで生成されません。
D) 誤りです。ld も正しいスライスではありません。

問題06:次のコマンドを実行すると表示される結果として正しいものは次のうちどれですか?
for i in {1..5}; do echo "Item $i"; done

A) エラーが発生する
B) Item 1 Item 2 Item 3 Item 4 Item 5
C) Item 1, 2, 3, 4, 5 を1行に表示
D) Item 1からItem 5までを1行ずつ表示

解答解説を開く
正解)D

【解説】
A) 誤りです。構文は正しいためエラーは発生しません。
B) 誤りです。for ループは1行ずつ出力します。
C) 誤りです。出力は改行されます。
D) 正解です。各値が「Item $i」として1行ずつ表示されます。

問題07:シェルスクリプトで引数の数をカウントする変数は次のうちどれですか?

A) $$
B) $#
C) $@
D) $?

解答解説を開く
正解)B

【解説】
A) 誤りです。$$ はシェルのプロセスIDを表します。
B) 正解です。$# は引数の数を示します。
C) 誤りです。$@ はすべての引数を展開します。
D) 誤りです。$? は直前のコマンドの終了ステータスを表します。

問題08:以下のコマンドを実行したときの結果として正しいものは次のうちどれですか?
seq 1 3 12

A) 1, 4, 7, 10 を1行ごとに出力
B) 3, 6, 9, 12 を1行ごとに出力
C) 1から12まで1行にまとめて出力
D) エラーが発生して何も出力されない。

解答解説を開く
正解)A

【解説】
A) 正解です。指定した範囲内で3ずつ増加します。
B) 誤りです。開始値が1のためこの結果は正しくありません。
C) 誤りです。seq コマンドはデフォルトで改行して出力します。
D) 誤りです。構文が正しいためエラーは発生しません。