参考
Linux中$()和${}的区别
Linux—shell中$(( ))、$( )、``与${ }的区别
1. $()执行命令
- 小括号里放的是命令,相当于`ls ~` 反引号一样,执行这个命令
- 在多层次的复合中,``必须要额外的跳脱处理(反斜线), $( )比较直观
- $( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的
2. ${} 变量替换
- 一般情况下,{var}是没有区别的
- 用${ }会比较精确的界定变量名称的范围
MacBook-Pro:~ $ a=b
deMacBook-Pro:~ $ echo $a
b
deMacBook-Pro:~ $ echo $ab
deMacBook-Pro:~ $ echo $a b
b b
deMacBook-Pro:~ $ echo ${a}b
bb
3. 取子串 、 替换
4. 数组
5. $(( ))与整数运算
- 使用(( ))作整数测试时,不要跟[ ]的整数测试搞混了