天天看点

Shell脚本(2)-if语句

if语句

1、什么是条件测试操作?

要使Shell脚本具有一定的“智能化”,面临的问题就是区分不同情况下以确定执行何种操作。Shell环境中根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时,表示执行成功,否则表示失败或异常。通过条件测试操作的工具-test命令,可以对特定条件进行测试。

2、条件测试分类

1)文件测试:根据给定的路径,判断是否为文件或目录。

常见选项:

■ -d:测试是否为目录

■ -f:测试是否为文件

■ -e:测试文件或目录是否存在

■ -r:测试当前用户是否有读取权限

■ -w:测试当前用户是否有写入权限

■ -x:测试当前用户是否有执行权限

Shell脚本(2)-if语句

2)整数值比较:整数值比较就是根据两个给定的整数值,判断第一个数与第二个数的大小关系

常见选项:

■ -eq:等于

■ -lt:小于

■ -gt:大于

■ -ne:不等于

■ -ge:大于等于

■ -le:小于等于

Shell脚本(2)-if语句

3)字符串比较:字符创比较通常用于检查用户输入、系统环境是否满足条件等。在通过交互式操作的Shell环境中,也可以用来判断用户输入的位置参数是否符合要求

常用操作:

■ =:第一个字符与第二个相同

■ !=:第一个与第二个字符不相同

■ -z:检查字符创是否为空

Shell脚本(2)-if语句

4)逻辑测试:判断两个条件或多个条件之间的依赖关系

■ &&:表示“而且”,只有前后两个条件都成立时,返回值为0

■ ||:表示“或者”,只要两个条件中有一个成立,返回值即为0

■ !:表示“否”

3、if语句

1)单分支if语句

if 条件测试操作

then

命令序列

fi

2)双分支if语句

命令序列1

else

命令序列2

3)多分支if语句

elif 条件测试操作2

。。。

4、应用举例

1)新建一个脚本,用于测试成绩

Shell脚本(2)-if语句

2)脚本

Shell脚本(2)-if语句

3)测试脚本

Shell脚本(2)-if语句

4)脚本解释

第一个条件测试操作:当输入的成绩大于等于90、小于等于100时,输出“成绩优秀”;read -p用于给“GRADE”变量赋值。

继续阅读