一、流程控制:while/until 循环
1.while,当遇到一个非零退出状态的时候while 退出循环
while语法:while commands; do commands; done
2.跳出循环
break 命令立即终止一个循环, 且程序继续执行循环之后的语句。continue 命令导致程序跳过循环中剩余的语句,且程序继续执行 下一次循环
3.until,当遇到一个0退出状态的时候until退出循环
二、流程控制:case 分支
1.case语句
3.匹配多个测试条件以执行多个动作
- 添加“;;&” 的语法允许 case 语句继续执行下一条测试,而不是简单地终止运行
三、流程控制:for 循环
test命令用于检查某个条件是否成立,它可以进行数值、字符串和文件三个方面的测试,其测试符和相应的功能分别如下:
(1)数值测试:
-eq:等于则为真
-ne:不等于则为真
-gt:大于则为真
-ge:大于等于则为真
-lt:小于则为真
-le:小于等于则为真(2)字符串测试:
=:等于则为真
!=:不相等则为真
-z字符串:字符串长度伪则为真
-n字符串:字符串长度不伪则为真(3)文件测试:
-e文件名:如果文件存在则为真
-r文件名:如果文件存在且可读则为真
-w文件名:如果文件存在且可写则为真
-x文件名:如果文件存在且可执行则为真
-s文件名:如果文件存在且至少有一个字符则为真
-d文件名:如果文件存在且为目录则为真
-f文件名:如果文件存在且为普通文件则为真
-c文件名:如果文件存在且为字符型特殊文件则为真
-b文件名:如果文件存在且为块特殊文件则为真&& 与 ||
在上面刚刚提到了分号,用于多条命令间的分隔符。另外还有两个可以用于多条命令中间的特殊符号,那就是“&&”和”||”。下面笔者把这几种情况全列出:
1) command1 ; command2
2) command1 && command2
3) command1 || command2