なぜこのコマンドを使う必要があるのか疑問に思います
export Path=$Path:dir
なぜコマンドは次のようではないのか
export $Path=$Path:dir/dir'
答え1
ドル記号$
はアクセス変数を設定するのではなく、変数を印刷するのです。これを簡単に確認する方法は、変数を印刷してみることです。
test="Hello"
echo test
# prints 'test'
echo $test
# prints 'Hello'
$test="Bye"
# Not allowed
答え2
こうすると:
VAR=value
bash は、変数が存在しない場合は、VAR を「値」に設定して変数を作成します。
次のように書くと:
$VAR=value
次に、bash はこれを実行し、$VAR を現在の値に置き換えます。たとえば、$VAR の値が x だった場合、次のようになります。
x=var
実行されるコマンドとして. 「コマンドが見つかりません」と表示されるのはそのためです
ただし、次のようにして bash にこれを再解釈するように指示することができますeval
。
VAR2=x
VAR=VAR2
echo $VAR2
x
eval $VAR=y
echo $VAR2
y