Bash変数名ルール:合法と違法
すべてのプログラミング言語には、ユーザーが従う必要のある変数名を宣言するための構文があります。同様に、bashスクリプトにもその構文があり、一部は合法であり、他の部分は違法です。これについてはこの記事で説明します。
変数を宣言する際に考慮すべき3つの異なる方法があります。以下に示します。
- 方法1: アルファベットのみを使用して変数を宣言する
- アルファベットのみを使用した変数の宣言の法的な方法
- アルファベットのみを使用した変数の不正な宣言方法
- 方法2:数字とアルファベットの組み合わせ
- 数字とアルファベットを組み合わせる合法的な方法
- 数字とアルファベットを組み合わせる違法な方法
- 方法3:アンダースコアを使ったアルファベットと数字の組み合わせ
- アンダースコアを使用してアルファベットと数字を組み合わせる法的な方法
- アンダースコアを使用してアルファベットと数字を不正に組み合わせる方法
- 要約
このガイドを始めましょう!
方法1:アルファベットのみを使用して変数を宣言する
変数をアルファベットのみを使用して宣言する際に考慮できる合法的な方法と違法な方法がいくつかあります。以下で説明します。
アルファベットのみを使用して変数を宣言する合法的な方法
変数を宣言するためには、以下の画像に示されているように、小文字、大文字、またはその組み合わせを使用することができます:
varname=“Welcome to LinuxHint”
上の画像では、小文字のみを使用しており、これはbashスクリプトを実行する合法的な方法です。次に、以下のようにすべて大文字の変数を宣言します:
VARNAME=“Welcome to LinuxHint”次に、以下に示すように、小文字と大文字の両方を含む変数を宣言します。
VaRnAmE=“Welcome to LinuxHint”注意: 各ファイルは「test.sh」という名前で保存されており、以下のコマンドを入力することでスクリプトを実行できます:
bash test.shアルファベットのみを使用して変数を宣言する違法な方法
単語やアルファベットをスペースを使用して区切ろうとしている場合、それは機能せず、以下のように不正と見なされます。
$ var name=“Welcome to LinuxHint”上記のbashスクリプトを実行したときの出力は以下に示されています:
bash test.sh
注意: 変数に何かを代入する場合、代入演算子 (=) の両側にスペースを入れてはいけません。
if、while、untilのような予約語を使用して変数を宣言することは良い習慣ではありません。これらは違法ではありませんが、プログラミングの別の目的のために主に作られているため、使用することは混乱を招く可能性があります。
方法2: アルファベットと数字の組み合わせ
変数を宣言するために、任意の数とアルファベットを組み合わせることもできますが、以下に示すように法的および違法な方法があります:
数字とアルファベットを組み合わせる合法的な方法
アルファベットと数字を組み合わせる合法的な方法は以下の通りです。
$varname123=“Welcome to LinuxHint”上の画像に示されているように、私たちは最初にアルファベットを書き、その後数字を書きましたが、数字の間に数字を書くこともできます、以下のように:
$va1rn2am3e=“Welcome to LinuxHint”注意: 上記のいずれかのbashスクリプトを実行すると、以下に記載されているのと同じ出力が得られます:
bash test.sh
同様に、大文字や小文字と大文字の組み合わせを数字と一緒に組み合わせることもできます。
数字とアルファベットを組み合わせる違法な方法
アルファベットと数字を不正に組み合わせる方法は、以下に説明したように、数字を先に書き、その後にアルファベットを書くことです。
$123varname=“Welcome to LinuxHint”上記のbashスクリプトを実行すると、次のエラーが表示されます:
bash test.shこれは、変数を宣言する際に数値が最初に来てはいけないことを意味します。そうでないと、Linuxコマンドとして認識されます。
注意: 単語と数字の間にスペースを空けたい場合、それも違法と見なされます。
方法3: アルファベットと数字の組み合わせにアンダースコアを使う
アルファベットと数字とアンダースコアを組み合わせることができるため、それに関する合法的および違法な方法について以下で説明します。
アンダースコアを使ってアルファベットと数字を組み合わせる法的な方法
アンダースコアは通常、単語や数字を他のものから区切るために使用され、一例は以下に示されています:
var_name=“Welcome to LinuxHint”以下のように、アンダースコアをアルファベットと数字の組み合わせで使用できます:
varname_123=“Welcome to LinuxHint”変数を宣言する際に、以下のように複数のアンダースコアを使用することもできます:
var_name_123=“Welcome to LinuxHint”同様に、変数の先頭にアンダースコアを置くこともできます。以下に示します:
_var_name_123=“Welcome to LinuxHint”上記の4つの異なる方法は合法です。それらは以下に示すのと同じ出力を提供します:
bash test.shアンダースコアを使ったアルファベットと数字の不正な組み合わせ方法
変数が数字で始まる場合、どこにアンダースコアを置いても意味を持たず、不正と見なされます。これは前のセクションで説明した通りです。
123_var_name=“Welcome to LinuxHint”変数が他の bash スクリプトの青色と比較して、現在は白色であることがわかります。これは変数名が不正であることを示す一つの指標です。したがって、上記の bash スクリプトを実行すると、以下のエラーが表示されます:
bash test.sh注: 変数を宣言する際に、@、$、または#などの特殊文字を使用することは、合法的な方法ではありません。その一例は以下に示されています。
var@name=“Welcome to LinuxHint”そのようなbashスクリプトを実行すると、次のようなエラーが発生します:
bash test.sh上記で議論された内容をまとめましょう。
要約
この記事で議論されたすべての法的および違法なルールを以下に要約しました:
| 変数を宣言するための合法的な方法 | 変数を宣言する違法な方法 |
|---|---|
| 任意の文字/アルファベットの組み合わせを使用すること。 | どこでも空白、または予約された言葉 |
| アルファベットまたはアンダースコアは最初に来るべきです | 最初に数字を、その後にアルファベットまたはアンダースコアを |
| どこにでも特別な文字。 |
この記事からは以上です。
結論
Bashスクリプトにおいて、変数の名前を付けるために従うことができるさまざまな方法があります。つまり、アルファベットのみ、数字を含むアルファベット、および数字やアンダースコアを含むアルファベットです。各方法には、Bashで変数を名前付けするためのいくつかの合法的な方法があります。さらに、各方法の合法的および違法的な観点も調査されています。変数を宣言する際に、特殊文字の使用は違法です。このガイドでは、Bashで変数に名前を付けるための可能な方法と合法/違法の側面を示しました。



















