最佳答案
想想这个片段:
$ SOMEVAR=AAA
$ echo zzz $SOMEVAR zzz
zzz AAA zzz
在这里,我已经在第一行将 $SOMEVAR
设置为 AAA
-当我在第二行回显它时,我得到了预期的 AAA
内容。
但是,如果我尝试在与 echo
相同的命令行上指定变量:
$ SOMEVAR=BBB echo zzz $SOMEVAR zzz
zzz AAA zzz
... 我没有得到我期望的 BBB
-我得到了旧的值(AAA
)。
事情应该是这样的吗?如果是这样,那么为什么你可以指定像 LD_PRELOAD=/... program args ...
这样的变量并让它工作呢?我错过了什么?