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"

有什么建议吗?

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

您在参数上使用双引号来抨击此处,因此参数中的$NEW由当前shell扩展,而不是由正在执行的bash命令扩展。由于当前shell中未设置$NEW,因此该命令将扩展为bash -c "echo "

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

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

相关内容

  • 没有找到相关文章

最新更新