符号 | 作用 |
() | 1. 顺序执行,如:(cmd1;cmd2;cmd3) 2. 类似``,如:$(cmd),先执行cmd再取值 3. 初始化数组,如:array=(a b c d) |
(()) | 1. 逻辑判断,真为1,假为0,表达式的话,结果不为0,返回0或true,为0返回1或false 2. 算术运算,不支持浮点和字符串,进制会转换为十进制输出 3. 重定义变量,如((a++)) 4. 条件判断,变量可不用$,如:for((i=0;i<10;i++)),if (($i<5)) |
[] | 1. bash命令,同test 2. 判断,[ ab \< bc ]、if [ $i -lt 5 ],比较运算符只有==和!=,-a与,-o或,真为0 3. 正则表达式,字符匹配的范围 4. Array中,引用数组的元素 |
[[]] | 1. bash关键字,中间的字符会扩展和命令替换 2. 模式匹配,[[ hello == hell? ]],结果为真 3. 条件判断,>,<,&&,||,如:if [[ $a != 1 && $a != 2 ]] 4. 中间的达表示作为元素,返回一个退出状态码 |
{} | 1. 拓展,不能有空格。如:touch {a,b}.txt 结果为a.txt b.txt,touch {a..c}.txt 结果为a.txt b.txt c.txt 2. 代码块,{和第一个命令之间必须有一个空格 3. 顺序执行,如:{ cmd1;cmd2;cmd3;} ,有空格 |