前缀变量赋值不适用于echo

时间:2016-04-03 01:11:06

标签: bash

据我所知,如果为带有变量赋值的bash命令添加前缀,该变量将立即生效。它只会在该命令中生效。

我在bash中试过这个命令:

V=1 echo $V

然而,终端中没有打印出1,这不是我的预期。那它为什么不起作用?

1 个答案:

答案 0 :(得分:3)

变量将在其后的命令环境中传递,而不是在评估(扩展)命令时传递。任何变量扩展都将在shell之前完成。

$ V=1 env | grep V=
V=1

让它运作起来:

$ V=1; echo $V
1