我只是想知道为什么我们需要使用这个命令
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