Korn Shell编程:条件判断、字符串与文件测试及循环结构
逻辑表达式与条件语句
在使用由逻辑与运算符(&&)或逻辑或运算符(||)连接的命令组成的逻辑表达式时,需要记住以下两点:
1. 如果两个命令通过逻辑与运算符连接,只有当第一个命令的结果为真时,shell才会执行第二个命令。
2. 如果两个命令通过逻辑或运算符连接,只有当第一个命令的结果为假时,shell才会执行第二个命令。
条件语句if else可以与某些测试运算符结合使用,以实现与字符串和文件相关的条件判断。
字符串测试
Korn shell提供了多个用于操作字符串的测试运算符,可用于执行包括比较和处理字符串在内的多项任务。例如,可以测试给定字符串是否为空、给定文件是否包含指定字符、两个字符串是否相等,以及一个字符串在字母顺序上是否小于另一个字符串等。字符串测试运算符列表如下:
| Operator | True if |
| — | — |
| -n string | 字符串长度不为零 |
| -z string | 字符串长度为零 |
| string1=string2 | 两个字符串相等 |
| string1!=string2 | 两个字符串不相等 |
| string=pattern | 模式与字符串匹配 |
| string!=pattern | 模式与字符串不匹配 |
| string1 string2 | string1在字母顺序上大于string2 |
以下是一些使用字符串测试运算符的示例: