Shell中的括号(),(()),[],[[]],{}

it2022-05-05  170

 

符号作用()

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;} ,有空格

 

 

 


最新回复(0)