内联 BASH 变量,无法获取接收它的命令



为什么不起作用?

HELLO=WORLD echo $HELLO

在我的外壳中,它输出

问题是bash在命令执行前评估并替换$HELLO。如果你写这样的脚本:

echo $HELLO

并运行HELLO=WORLD ./script,您将看到预期的输出。

该命令仅在echo的环境中将HELLO设置为字符串WORLD。但是echo忽略了那个环境变量,只写了它的参数和一行换行符。在shell中,(可能(根本没有设置变量HELLO,所以echo只打印一个换行符。

也许你想要:

HELLO=WORLD; echo "$HELLO"

这是两个单独的命令。第一个在shell中设置HELLO,第二个将该值作为参数传递给echo

相关内容

  • 没有找到相关文章

最新更新