103.1基礎
uname -rは実行中カーネルのリリース文字列を出力する。
その出力をLAB_KERNELへ保存する。
適切なコマンドはどれか。
× 不正解
$(...)はコマンドの標準出力へ置き換わる。代入と組み合わせると、結果をシェル変数へ保存できる。
詳細解説
誤り
LAB_KERNEL='uname -r'コマンドを実行せず、文字列uname -rを保存する。
シングルクォートによりunameは実行されず、文字列が保存される。
誤り
uname -r > LAB_KERNELLAB_KERNELというファイルへ出力し、変数には保存しない。
出力先はLAB_KERNELというファイルであり、シェル変数ではない。
誤り
$(uname -r)置換結果をコマンド名として実行しようとし、変数代入がない。
置換結果を単独で置くと、その文字列をコマンド名として扱おうとする。
正しい
LAB_KERNEL=$(uname -r)コマンド置換の出力を変数へ代入する。
正解。unameの出力が代入値としてLAB_KERNELへ保存される。
実際に確かめる
一時的な検証環境で実行できる例です。
LAB_KERNEL=$(uname -r)
printf '%s
' "$LAB_KERNEL"期待される結果
uname -rと同じリリース文字列理解のポイント
- コマンド置換
- 標準出力
- 変数代入
確認時の注意
- 確認環境: Bash 5.2 / GNU coreutils 9.x
基礎のおさらい
末尾改行
コマンド置換は出力末尾の改行を取り除いてから置換する。
引用
代入後に値を使うときは"$LAB_KERNEL"のように引用する。
問題IDKP-103-019
確認環境Bash 5.2 / GNU coreutils 9.x
最終技術確認2026-08-12
誤り・権利侵害を報告