シェル スクリプトの変数には命名規則がありますか?

シェル スクリプトの変数には命名規則がありますか?

ほとんどの言語には変数の命名規則があり、シェル スクリプトでよく見られるスタイルは ですMY_VARIABLE=foo。これは規則ですか、それともグローバル変数にのみ適用されますか? スクリプトのローカル変数の場合はどうでしょうか?

答え1

オペレーティング システム、シェルの起動スクリプト、シェル自体などによって導入される環境変数またはシェル変数は、通常、すべてCAPITALS1にあります。

lower_case変数がこれらの変数と競合するのを防ぐには、変数名を使用することをお勧めします。


1知っておく価値がある注目すべき例外はpath、シェルで使用される配列ですzsh。これは共通PATH変数と同じですが、配列として表されます。

答え2

はい、変数名を含むbashの完全なコードスタイル規則があります。たとえば、Googleのシェルスタイルガイド

変数名について具体的にまとめると次のようになります。

変数名: 小文字で、単語を区切るにはアンダースコアを使用します。例:my_variable_name

定数そして環境変数名: すべて大文字で、アンダースコアで区切られ、ファイルの先頭で宣言されます。例:MY_CONSTANT

答え3

単語を区切るにはアンダースコアを使用するのが最善の方法のようです。
自由に選択できる場合、camelCase よりも snake_case を好む理由がいくつかあります。

  1. 柔軟性: 大文字と小文字を使用できます (例: およびMY_CONSTANT) my_variable
  2. 一貫性: 数字を分離して数字を読みやすくすることができ (例1_000_000_000)、この機能は多くのプログラミング言語でサポートされています。
  3. \w共通: 正規表現がアンダースコアを単語の文字や数字 ( ) のように処理する点で共通です[a-zA-Z0-9_]

関連情報