标签: bash
据我所知,如果为带有变量赋值的bash命令添加前缀,该变量将立即生效。它只会在该命令中生效。
我在bash中试过这个命令:
V=1 echo $V
然而,终端中没有打印出1,这不是我的预期。那它为什么不起作用?
答案 0 :(得分:3)
变量将在其后的命令环境中传递,而不是在评估(扩展)命令时传递。任何变量扩展都将在shell之前完成。
$ V=1 env | grep V= V=1
让它运作起来:
$ V=1; echo $V 1