双引号和单引号之间的区别
双引号 | 单引号 |
---|---|
允许变量扩展 | 防止可变扩展 |
允许历史记录扩展 | 防止历史扩张 |
允许命令替换 | 防止命令替换 |
* 和 @ 可以有特殊的含义 |
* 和 @ 总是文字 |
可以包含单引号或双引号 | 单引号内不允许单引号 |
$ ,` ," ,\ 可以用\ 转义,以防止它们的特殊含义 |
所有这些都是文字 |
两者共有的属性:
- 防止 globbing
- 防止分词
例子:
$ echo "!cat"
echo "cat file"
cat file
$ echo '!cat'
!cat
echo "\"'\""
"'"
$ a='var'
$ echo '$a'
$a
$ echo "$a"
var