🧠 結論:${}
を毎回つけるのが安全
Bashでは $var
と ${var}
の両方で変数展開できるが、基本的には ${}
を使うのがベストプラクティス。
とりあえず「脳死で ${}
」にしておくと、後々のバグや可読性の問題を防げる。
✅ なぜ ${}
が推奨されるのか?
理由 | 内容 |
---|---|
🧱 一貫性 | すべての変数展開が同じ形になるので読みやすい |
🧨 バグ防止 |
$vartext だと vartext という変数を探してしまう |
🧠 拡張性 |
${var:-default} などの構文がすぐ使える |
📚 可読性 | 他人が読んでも明確で誤解されにくい |
⚠️ 実例:${}
を使わないとバグるケース
filename="report"
echo "$filename_2025.txt" # NG: filename_2025 という変数を探してしまう
echo "${filename}_2025.txt" # OK: report_2025.txt
💡 応用:${} を使うと便利な展開も可能
name="kyouhei"
echo "${name:-guest}" # nameが未定義なら "guest"
echo "${#name}" # nameの文字数(7)
echo "${name#ky}" # "ouhei"(接頭辞削除)
📝 まとめ
$var でも動くが、安全・明確・拡張性の観点から ${var} を使うのが吉。
スクリプトを書くときは「脳死で ${}」を習慣にすると安心。