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

时间:2015-09-02 17:43:09

标签: bash terminal environment-variables

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

KEY=VAL <command>

但是,我不明白为什么以下不起作用:

KEY=VAL echo $KEY

虽然这有效:

KEY=VAL bash -c 'echo $KEY'

即。第一个打印空白行,而另一个打印“VAL”。我希望两者都打印“VAL”。

1 个答案:

答案 0 :(得分:2)

由于KEY=VAL echo $KEY没有echo展开$KEY变量。

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