每种编程语言都会有最基本的东西,顺序语句,控制语句等,linux 脚本编程中的if else控制与其他编程语言还是有很不一样的地方的。
if判断语句成功的依据是返回的exit code是不是0,即语句有没有正确执行,执行系统命令如ls等时会正确产生exit code,二所有的test如-z -gt等等的如果为true则使exit code为0,if else语句的行为就跟前面的一样了。
1.数字的比较有 -gt -lt -ge -le -eq -ne 六种方式。
2.字符串型比较 -z(length=0) -n(length>0) > < != = 不过脚本会将<与>视为输入输出重定向,所以需要加\来进行转义,判断依据是ascii序
3.文件判断 -defrwx -s(文件存在且不为空) -O(文件存在且当前用户为文件所有者)-G
-nt -ot (newer older)
4.双括号(( expression )) 可以应用一些更高级的数学公式规则:++ -- ! << >> & | && ||
**(方)
5.双方括号[[ expression ]]应用一些更高级的字符串比较,可以应用正则表达式来实现模式匹配。
6.case语句:
case var in
pattern1|pattern2) command1;;
pattern3) command2;;
*) command3;;
esac
case与esac对应表示一个case语句,多个条件可以用|应用同一条command,* 表示剩下所有的,命令的最后结尾要双分号;;结束