if语句 1、什么是条件测试操作? 要使Shell脚本具有一定的“智能化”,面临的问题就是区分不同情况下以确定执行何种操作。Shell环境中根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时,表示执行成功,否则表示失败或异常。通过条件测试操作的工具-test命令,可以对特定条件进行测试。
2、条件测试分类 1)文件测试:根据给定的路径,判断是否为文件或目录。 常见选项: ■ -d:测试是否为目录 ■ -f:测试是否为文件 ■ -e:测试文件或目录是否存在 ■ -r:测试当前用户是否有读取权限 ■ -w:测试当前用户是否有写入权限 ■ -x:测试当前用户是否有执行权限 2)整数值比较:整数值比较就是根据两个给定的整数值,判断第一个数与第二个数的大小关系 常见选项: ■ -eq:等于 ■ -lt:小于 ■ -gt:大于 ■ -ne:不等于 ■ -ge:大于等于 ■ -le:小于等于 3)字符串比较:字符创比较通常用于检查用户输入、系统环境是否满足条件等。在通过交互式操作的Shell环境中,也可以用来判断用户输入的位置参数是否符合要求 常用操作: ■ =:第一个字符与第二个相同 ■ !=:第一个与第二个字符不相同 ■ -z:检查字符创是否为空 4)逻辑测试:判断两个条件或多个条件之间的依赖关系 ■ &&:表示“而且”,只有前后两个条件都成立时,返回值为0 ■ ||:表示“或者”,只要两个条件中有一个成立,返回值即为0 ■ !:表示“否” 3、if语句 1)单分支if语句 if 条件测试操作 then 命令序列 fi 2)双分支if语句 if 条件测试操作 then 命令序列1 else 命令序列2 fi 3)多分支if语句 if 条件测试操作 then 命令序列1 elif 条件测试操作2 then 命令序列2 。。。 else 命令序列 fi 4、应用举例 1)新建一个脚本,用于测试成绩 2)脚本 3)测试脚本 4)脚本解释 第一个条件测试操作:当输入的成绩大于等于90、小于等于100时,输出“成绩优秀”;read -p用于给“GRADE”变量赋值。