shell脚本条件测试操作、if条件语句和case分支语句

条件测试操作

test命令
测试表达式是否成立,若不成立返回0,否则返回其他数值
格式一:test 条件表达式
格式二:[ 条件表达式 ]

文件测试
格式:[ 操作符 文件或目录 ]

常用的操作符:
-e:测试目录或文件是否存在(Exist)。
-d:测试是否为目录(Directory)。
-f:测试是否为文件(File)。
-r:测试当前用户是否有权限读取(Read)。
-w:测试当前用户是否有权限写入(Write)。
-x:测试是否设置有可执行(Excute)权限。

在这里插入图片描述
整数值比较
格式:[ 整数变量1 操作符 整数变量2 ]

常用的操作符:
-eq:等于 ==
-ne:不等于 !=
-gt:大于 >
-lt:小于 <
-le:小于等于 <=
-ge:大于等于 >=

在这里插入图片描述
字符串比较
格式1:
[ 字符串1 = 字符串2 ] 或 [ 字符串1 == 字符串2 ]
[ 字符串1 != 字符串2 ]

格式2:
[ -z 字符串 ] #检查字符串是否为空(Zero),对于未定义或赋予空值的变量将视为空串
[ -n 字符串 ] #检查是否有字符串存在

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ]
格式2:命令1 操作符 命令2

常用的操作符:
-a或&& :逻辑与,“而且”的意思,前后条件需都成立
-o或|| :逻辑或,“或者”的意思,只需前后条件中一个成立
! :逻辑否

在这里插入图片描述
在这里插入图片描述

if条件语句

单分支
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
双分支
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
多分支
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

if条件语句题目

检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
在这里插入图片描述
在这里插入图片描述
提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误。
在这里插入图片描述
在这里插入图片描述
提示用户输入内容,使用if 语句判断输入的内容是否为整数,并判断是偶数还是奇数
在这里插入图片描述
在这里插入图片描述

case语句

在这里插入图片描述

case 变量值 in 
模式一)
   命令序列
;;
模式二)
   命令序列 
;;
*)
   默认命令序列
esac

用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MQ107/article/details/114371432