在终端(bash)上输入
var=someValue
echo $var --> 1
echo "$var" --> 2表格1和2我得到了相同的结果,那么它们之间有什么区别呢?我们什么时候应该使用双引号,什么时候不应该使用它们?
发布于 2018-08-23 23:56:06
echo $var和echo "$var"之间没有差异。
然而,对于其他命令,如ls (列表文件),可能会有很大的不同。
在你的终端里试试这个:
$ touch "File A"
$ var="File A"
$ ls $var
ls: cannot access 'File': No such file or directory
ls: cannot access 'A': No such file or directory
$ ls "$var"
File A双引号"告诉Linux将两者之间的所有内容作为一个单一实体对待。没有双引号,内部的所有内容都被视为由空格描述的独立实体。
所以在第一个例子中,$var是两个不同的东西"File“和"A”。
在第二个例子中,"$var"是一回事,"File A"。
echo命令会自动处理一个或多个单词,直到行结束为止。许多其他命令都需要一件或多件事。
发布于 2019-03-10 06:02:22
当您将多行字符串存储在变量中并尝试回显它时,就会出现这种差异。
试试这个:
$var="this is a
line of
code"
$ echo $var
this is a line of code
$ echo "$var"
this is a
line of
codehttps://askubuntu.com/questions/1068363
复制相似问题