bashrcの変数の基本構文の説明

bashrcの変数の基本構文の説明

変数を正しくエクスポートしたいです。これを行うには、さまざまな構文バリエーションを理解する必要がありました。変数をエクスポートする次のメカニズムを見ました。この場合は、以下を使用してください.bashrc

  1. export MY_VARIABLE=$USER/.gradle--$

  2. export MY_VARIABLE="$USER/.gradle"- 引用符

  3. export MY_VARIABLE=USER/.gradle--いいえ$

  4. export $MY_VARIABLE=$USER/.gradle--すべて$

この場合、$記号は何を意味しますか?なぜ時々使用され、時には使用されないのですか?

パスにスペースがない場合は引用符が必要ですか? $USERに含まれるパスにスペースが含まれている場合はどうなりますか?

エクスポートの左側に$がないのはなぜですか?

ベストアンサー1

export、その他のタグはdeclare明示的に変数名をパラメータとして使用します。 $一般的に「~の価値」という意味で理解すると、「~$variableの価値variable」という意味になります。次のコマンドセットを実行します。

foo=bar
bar=baz
export $foo
( echo "$foo" )

ここで何が起こるのかは、空行の出力を得ることです。これはexport、コマンドに実際に(の値)$fooがあるため、実際に実行されるコマンドがあるためです。エクスポートされないので、デフォルトはnullです。ただし、最後の行が次のような場合:barfooexport barfoo

( echo "$bar" )

次のサブシェルに編集されたbaz値を含む出力が得られます。barexport

"通常、弱い引用符(" ")を使用することをお勧めします。みんな変数参照の理由には、前述の理由(ファイル名やパスのスペースなど)が含まれますが、これに限定されません。たとえば、次のような場合があります。

if [ $letter == a ]; then echo "ayyyy"; fi

しかしletter、それらはすべて空であり、シェルは実行しようとします。

if [  == a ]

これは構文エラーですが、引用符があります。

if [ "$letter" == a ];

~になる

if [ "" == a ];

これはうまくいきます。

おすすめ記事