一、if语句
1,条件测试 test 测试表达式是否成立,成立结果为0 ①,测试文件状态 -d 是否为目录 -e 目录或文件是否存在 -f 是否为文件 -r 当前用户是否有权限读取 -w 当前用户是否有权限写入 -x 当前用户是否可执行该文件 -L 是否为符号连接文件 ②,数值比较 -eq 等于 -ne 不等于 -gt 大于 -lt 小于 -le 小于或等于 -ge 大于或等于 Equal 等于 Not Equal 不等于 Greater Than 大于 Lesser Than 小于 Lesser or Equal 小于或等于 Greater or Equal大于或等于 ③,字符串比较 = 内容相同 != 内容不同,! 号表示相反的意思 -z 内容为空 ④,条件判断 -a或&& 逻辑与 前后表达式都成立时整个测试结果才为真,否则为假 -o或|| 逻辑或 操作符两边至少一个为真时,结果为真,否则结果为假 ! 逻辑否 当指定的条件不成立时,返回结果为真 2,if语句格式 ①,单分支 if 条件测试命令 then 命令序列 fi ②,双分支 if 条件测试命令 then 命令序列1 else 命令序列2 fi ③,多分支 if 条件测试命令1 ; then 命令序列1 elif 条件测试命令2 ; then 命令序列2 elif ... else 命令序列n fi 二、for语句(根据变量的不同取值,重复执行一组命令操作) 1,语法 for 变量名 in 取值列表 do 命令序列 done 三、while语句(重复测试指定的条件,只要条件成立则反复执行对应的命令操作) 1,语法 while 命令或表达式 do 命令列表 done 四、其他控制语句 1,case多分支 case 变量值 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; …… * ) 默认执行的命令序列 esac 2,until循环语句 until 条件测试命令 do 命令序列 done 3,shift迁移语句 迁移位置变量,将 $1~$9 依次向左传递 4,break语句 在for、while、until等循环语句中,用于跳出当前所在的循环体,执行循环体后的语5,continue 在for、while、until等循环语句中,用于跳过循环体内余下的语句,重新判断条件以便执行下一次循环句 五、Shell函数应用 1,语法 function 函数名 { 命令序列 } 或者 函数名() { 命令序列 } 2,调用函数 函数名 3,向函数内传递参数 函数名 参数1 参数2 ...