linux env命令无法按预期工作?
这两条线按预期工作:linux env命令无法按预期工作?,linux,env,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" 这里对bash的参数使用双引号,因此参数中的$NEW由当前shell展开,而不是由正在执行的bash命令展开。由于当前shell
$ 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"
这里对bash的参数使用双引号,因此参数中的$NEW
由当前shell展开,而不是由正在执行的bash
命令展开。由于当前shell中未设置$NEW
,因此命令扩展为bash-c“echo”
在参数上使用单引号解决此问题:
$ env NEW=hello bash -c 'echo $NEW'
hello
那它不起作用呢?
$ env NEW=hello bash -c 'echo $NEW'
hello