1. ホーム
  2. バッシュ

[解決済み】Bashやシェルスクリプトの変数の大文字小文字を正しく表記する。

2022-04-04 01:20:05

質問

私は多くのシェルスクリプトで、変数がすべて大文字になっているものに出会いますが、これには重大な誤解があると常々思っています。 私の理解では、慣習的に(そしておそらく大昔に必然的に)。 環境変数 はすべて大文字です。

しかし、Bashのような最新のスクリプト環境では、一時的な変数の名前を小文字にし、大文字にするという慣習を常に好んできました。 エクスポートされる変数(つまり環境変数)に対してのみです。 . 例えば

#!/usr/bin/env bash
year=`date +%Y`
echo "It is $year."
export JAVA_HOME="$HOME/java"

私はいつもそう思っています。 このアプローチに賛成または反対する権威ある情報源はありますか、それとも純粋にスタイルの問題ですか?

どのように解決するのですか?

慣習上、環境変数( PAGER , EDITOR と、シェル内部変数( SHELL , BASH_VERSION は大文字です。その他の変数名はすべて小文字にします。

環境変数や内部変数を誤って上書きしてしまうことを防ぐためです。

この規約を守っていれば、UNIXのツールやシェルが使っている環境変数を上書きしないように、いちいち把握する必要はないので安心です。 自分の変数であれば小文字で。 エクスポートする場合は、大文字にします。