在bash中,我可以通过以下方式将环境变量传递给单个命令:
KEY=VAL <command>
但是,我不明白为什么以下不起作用:
KEY=VAL echo $KEY
虽然这有效:
KEY=VAL bash -c 'echo $KEY'
即。第一个打印空白行,而另一个打印“VAL”。我希望两者都打印“VAL”。
答案 0 :(得分:2)
由于KEY=VAL echo $KEY
没有echo
展开$KEY
变量。
当前的shell正在之前运行echo
(或其他)。