- 不加括号
string中没有命令和变量,没有空格,可以不加,不加引号的程序员不是合格的程序员 - 单引号''
引号中的内容原样输出,不解析变量和命令。
num=3
echo ‘$num’
$num
echo “$num”
3
- 双引号
会解析里面的变量${} 、$var和命令$()
关于${var}, “$var”, and “${var}”的区别:What is the difference between ${var}, “$var”, and “${var}”
推荐用${var},“${var}” 表示把var当成单个字符。
不需要转义的字符串用单引号,用到解析变量和命令时用双引号。
- 大小花括号
- ()只是对一串命令重新开一个子shell进行执行
- {}对一串命令在当前shell执行
- ()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开
- ()最后一个命令可以不用分号
- {}最后一个命令要用分号
- {}的第一个命令和左括号之间必须要有一个空格
- ()里的各命令不必和括号有空格
- ()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令