変数がすべて大文字になっているシェル スクリプトを多数見かけますが、これには大きな誤解があるとずっと思ってきました。私の理解では、慣例により (そしておそらくはずっと前から必要だったため)、環境変数はすべて大文字になっています。
しかし、Bash のような最新のスクリプト環境では、一時変数には小文字の名前を使用し、エクスポートされた (つまり、環境変数) 変数にのみ大文字の名前を使用するという規則を常に好んでいます。例:
#!/usr/bin/env bash
year=$(date +%Y)
echo "It is $year."
export JAVA_HOME="$HOME/java"
それが私の常に抱いている考えです。このアプローチに同意または反対する権威ある情報源はありますか?
ベストアンサー1
慣例により、環境変数 ( PAGER
、EDITOR
、 ...) および内部シェル変数 ( SHELL
、BASH_VERSION
、 ...) は大文字で表記されます。その他の変数名はすべて小文字で表記されます。
変数名は大文字と小文字が区別されることに注意してください。この規則により、環境変数や内部変数が誤って上書きされることが回避されます。
この規則に従えば、UNIX ツールやシェルが使用するすべての環境変数を上書きしないように知る必要はありません。自分の変数の場合は小文字にします。エクスポートする場合は大文字にします。