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

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

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

答え1

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

変数がこれらの変数と競合するのを防ぐには、lower_case変数名を使用するのが最善です。


1知っておく価値がある注目すべき例外の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_]

関連情報