1.03.1基礎
現在のBashで変数DEPLOY_ENVへstagingを代入する。
コマンドとしてstagingを実行しない。
正しい代入はどれか。
× 不正解
Bashの単純な変数代入はNAME=valueを空白なしで記述する。値を参照するときに$を使う。
詳細解説
誤り
DEPLOY_ENV = staging=の周囲の空白により代入語にならず、DEPLOY_ENVというコマンドを実行しようとする。
誤り。BashはDEPLOY_ENVをコマンド名、=とstagingを引数として解釈しようとする。
誤り
$DEPLOY_ENV=staging$は値の展開に使い、代入先名の前には付けない。
誤り。代入左辺は変数名そのものを記述し、$による展開を行わない。
正しい
DEPLOY_ENV=staging名前、=、値を空白なしで並べ、現在のシェル変数を設定する。
正しい。DEPLOY_ENV=stagingは1つの代入語として現在のシェルへ値を設定する。
誤り
set DEPLOY_ENV stagingBashのsetはこの形式で名前付き変数へ値を代入しない。
誤り。setはこの引数列をDEPLOY_ENVという名前の変数代入として処理しない。
実際に確かめる
一時的な検証環境で実行できる例です。
DEPLOY_ENV=staging; printf '%s\n' "$DEPLOY_ENV"期待される結果
staging理解のポイント
- 代入は空白なし
- 左辺に$は不要
- 参照時は$NAME
確認時の注意
- 確認環境: Bash 5.x / シェル変数のみ
基礎のおさらい
代入と展開
代入ではNAME、参照では$NAMEまたは${NAME}を使い分ける。
空白を含む値
値に空白がある場合はNAME='alpha beta'のように値側を引用する。
問題IDKL-101-432
確認環境Bash 5.x / シェル変数のみ
最終技術確認2026-08-13
誤り・権利侵害を報告