1.使用if-then语句

shell---使用结构化命令_第1张图片

if command
then
command
fi

if出现错误命令,将跳出then

2.if-then-else语句

shell---使用结构化命令_第2张图片

echo也可以返回空

3.嵌套if

shell---使用结构化命令_第3张图片

4.test命令

shell---使用结构化命令_第4张图片

test命令

if test condition
then
command
fi

condition为False执行then,为空或者不写执行else

另一种条件测试方法

if [ condition ]
then
commands
fi

方块内左右要留空格

(2)数字比较

shell---使用结构化命令_第5张图片

-eq 等于,-ge 大于等于,-gt 大于,-le 小于等于,-lt小于,-ne不等于

只能处理整数,不能在test命令中使用浮点值

shell---使用结构化命令

(3)字符串比较

=,!=,(相同或不同),<,>(小大),-n长度非零,-z长度为零

shell---使用结构化命令_第6张图片

比较字符串相等性时,比较测试会将所有的标点和大小写情况考虑

(4)字符串顺序

shell---使用结构化命令_第7张图片

< >号要转义符\,比较测试是标准的ASCII顺序,

(5)检查文件是否可以执行

shell---使用结构化命令_第8张图片

(6)检查文件日期

shell---使用结构化命令_第9张图片

-nt,新;-ot,旧

(7)复合条件测试

[ condition ] && [ condition ],与
[ condition ] || [ condition ],或

shell---使用结构化命令_第10张图片

-d,测试是否存在目录,-w,测试是否存在文件并且能否写入权限

(8)if-then的高级特性

使用双括号

shell---使用结构化命令_第11张图片

可以使用复杂运算,**表示幂运算

使用双方括号

shell---使用结构化命令_第12张图片

针对字符比较的高级特性

r* 正则表达式,是否匹配以r开头

(9)case命令

shell---使用结构化命令_第13张图片

更清晰的方法来为变量每个可能的值指定不同的选项