linux env命令无法正常工作?

时间:2015-03-04 23:37:27

标签: linux env

这两行按预期工作:

$ env NEW=hello bash -c "env | grep hello"
NEW=hello
$ env NEW=hello bash -c "echo $PATH"
/bin:/usr/bin

但我不知道为什么以下不起作用(如预期的那样)。

$ env NEW=hello bash -c "echo $NEW"

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

$ env NEW=hello bash -c "echo $NEW"

你在这个参数上使用双引号来进行bash,所以参数中的$NEW由当前shell扩展,不是 {{1}命令你执行。由于bash未在当前shell中设置,因此该命令将扩展为$NEW

在参数上使用单引号来解决此问题:

bash -c "echo "