1.shell中逻辑控制语句if用法

语法
#1.简单if
if [ 条件表达式 ];then
#满足条件时执行
fi#结束if

#2.if else
if [ 条件表达式 ];then
#满足条件时执行
else
#不满足条件时执行
fi#结束if

#3.if else if else
if [ 条件表达式 ];then
#满足上方条件时候执行
elif [ 条件表达式 ];then
#满足上方条件时候执行
#... elif可有多个
else
#上面的条件都不满足的在这里执行
fi#结束if
注意:条件两边的空格很重要。要确保方括号的空格。
判断语句常用条件
[ -f "somefile" ] 判断是否是一个文件
[ -x "/bin/ls" ] 判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] 判断$var变量是否有值
[ "$a" = "$b" ] 判断$a和$b是否相等yes
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真yes
-t file 当文件描述符(默认为1)指定的设备为终端时为真
-ne 比较两个数字参数是否不相等
-lt 参数1是否小于参数2
-le 参数1是否小于等于参数2
-gt 参数1是否大于参数2
-ge 参数1是否大于等于参数2
-f 检查某文件是否存在(例如,if [ -f "filename" ])yes
-d 检查目录是否存在
 

2.退出当前shell脚本

命令:
exit

使用介绍:
格式1:
exit
说明:退出。退出码不变,即为最后一个命令的退出码

格式2
exit n
退出。设置退出码为n。

格式3
exit $?
上一个命令的退出码。

退出码(exit status,或exit code)的约定:
  • 0表示成功(Zero - Success)
  • 非0表示失败(Non-Zero  - Failure)
  • 2表示用法不当(Incorrect Usage)
  • 127表示命令没有找到(Command Not Found)
  • 126表示不是可执行的(Not an executable)
  • >=128 信号产生