首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回声$var和回波"$var“的区别是什么?

回声$var和回波"$var“的区别是什么?
EN

Ask Ubuntu用户
提问于 2018-08-23 23:42:36
回答 2查看 4.4K关注 0票数 1

在终端(bash)上输入

代码语言:javascript
复制
var=someValue

echo $var    --> 1
echo "$var"  --> 2

表格1和2我得到了相同的结果,那么它们之间有什么区别呢?我们什么时候应该使用双引号,什么时候不应该使用它们?

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2018-08-23 23:56:06

echo $varecho "$var"之间没有差异。

然而,对于其他命令,如ls (列表文件),可能会有很大的不同。

在你的终端里试试这个:

代码语言:javascript
复制
$ 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命令会自动处理一个或多个单词,直到行结束为止。许多其他命令都需要一件或多件事。

票数 5
EN

Ask Ubuntu用户

发布于 2019-03-10 06:02:22

当您将多行字符串存储在变量中并尝试回显它时,就会出现这种差异。

试试这个:

代码语言:javascript
复制
$var="this is a
line of
code"

$ echo $var
this is a line of code

$ echo "$var"
this is a
line of
code
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1068363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档