Shell 脚本:如何将变量扩展为引号

Shell 脚本:如何将变量扩展为引号

谁能告诉我如何使以下命令正常工作?

SERVER=192.168.1.1

ping $SERVER (It Works)

ping '$SERVER' (It doesn't work)

我希望它能组成一个需要引号的更复杂的命令!

谢谢你们!!

答案1

使用双引号。

当您使用单引号时,您将得到您所输入的内容,而双引号则进行插值,如下例所示:-

$ x=1
$ echo 'This is $x'
This is $x
$ echo "This is $x"
This is 1

答案2

您可以像这样使用双引号:

SERVER=192.168.1

ping "$SERVER.1"
ping "$SERVER".1
ping $SERVER.1

请注意,最后一个示例没有引号。

不过,请参阅Bash 中命令中单引号内变量的扩展更深入地阅读该主题。

相关内容