当我输入时在终端 (bash) 上
var=someValue
echo $var --> 1
echo "$var" --> 2
Run Code Online (Sandbox Code Playgroud)
Form 1 和 Form 2 我得到的结果是一样的,那么它们之间有什么区别呢?
什么时候应该使用双引号,什么时候不应该使用?
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
Run Code Online (Sandbox Code Playgroud)
双引号"告诉 Linux 将两者之间的所有内容视为单个实体。如果没有双引号,里面的所有内容都被视为由空格分隔的单独实体。
所以在第一个例子中$var是两个不同的东西“文件”和“A”。
在第二个例子中"$var"是一件事"File A"。
该echo命令会自动将单个单词或多个单词作为一件事处理,直到行尾。许多其他命令期望一个或多个东西。
| 归档时间: |
|
| 查看次数: |
2650 次 |
| 最近记录: |