$()
$()与``都是用来做命令替换用的,表示优先执行的命令,例如
$(pwd)与`pwd`相同
以上指令意思为,执行pwd,然后用得到的结果(当前文件夹)代替$(pwd),继续运行。
${}
大括号里面是变量,将变量的实际值取出。一般情况下, var和 {var}是一样的,但是用${}会比较精确的界定变量名称的范围。
- ${file#*/}去除第一个/左边的字符,保留右边字符
- ${file##*/}去除最后一个/左边的字符,保留右边字符
- ${file%/*}去除最后一个/右边的字符,保留左边字符
- ${file%%/*}去除第一个/右边字符,保留左边字符
- ${#file}返回file的长度
$(())
用来做整数运算
a=3;b=4;c=5
echo $(($a+$b)) #输出为7
echo $(($a+$b*$c)) #输出为23
只是在括号内部运算而已,也可以进行嵌套 (( (()))),意思为内层计算得到的结果,放在外层中继续计算
(())
用来计算并测试算术表达式的结果,也可以用在for和while里面