谁能告诉我如何使以下命令正常工作?
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 中命令中单引号内变量的扩展更深入地阅读该主题。