编写Shell管理脚本(二)
一、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  ...