为什么环境变量不在单个命令中传递



在bash中,我可以通过以下方式将环境变量传递给单个命令:

KEY=VAL <command>

然而,我不明白为什么下面的代码不起作用:

KEY=VAL echo $KEY

KEY=VAL bash -c 'echo $KEY'

。第一个打印空行,而另一个打印"VAL"。我希望两者都打印"VAL"

因为KEY=VAL echo $KEY没有让echo展开$KEY变量

当前shell在运行echo(或其他)之前正在做

最新更新