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语句
命令序列1
else
命令序列2
3)多分支if语句
elif 条件测试操作2
。。。
4、应用举例
1)新建一个脚本,用于测试成绩
2)脚本
3)测试脚本
4)脚本解释
第一个条件测试操作:当输入的成绩大于等于90、小于等于100时,输出“成绩优秀”;read -p用于给“GRADE”变量赋值。