IF语句中,经常会用到()、(())、[]、[[]]、{}等,具体区别如下:
() 用于多个命令组、命令替换、初始化数组 (()) 整数扩展、运算符、重定义变量值、算术运算比较 [] bash内部命令,[与test是等同的,正则字符范围、引用数组元素编号,不支持+-*/数学运算符,逻辑测试使用-a、-o [[]] bash程序语言的关键字,不是一个命令,[[]]结构比[]结构更加通用,不支持+-*/数学运算符,逻辑测试使用&&、|| {} 主要用于命令集合或范围,例如:mkdir -p /data/201{7,8,9} if ($i<5) if [ $i -lt 5 ] if [ $a -ne 1 -a $a != 2 ] if [ $a -ne 1] && [ $a != 2 ] if [[ $a != 1 && $a != 2 ]]
for i in $(seq 0 4);do echo $i;done for i in `seq 0 4`;do echo $i;done for ((i=0;i<5;i++));do echo $i;done for i in {0..4};do echo $i;done |