一、条件测试操作
1.1test命令与 [ ] 符号
- 测试表达试是否成立,若成立返回0,否则返回其它数值
1.1.1文件测试常用的测试操作符
符号 | 作用 |
---|---|
-d | 测试是否为目录 |
-e | 测试是否为目录或文件 |
-f | 测试是否为文件 |
-r | 测试当前用户是否有读取权限 |
-w | 测试当前用户是否有写入权限 |
-x | 测试当前用户是否有执行权限 |
1.1.2整数比较常用的操作符
英文符号 | 算数符号 | 作用 |
---|---|---|
-eq | == | 等于 |
-ne | != | 不等于 |
-gt | > | 大于 |
-lt | < | 小于 |
-ge | >= | 大于等于 |
-le | <= | 小于等于 |
- 英文符号只能比较整数,而算数号不但可以比较整数,也可以比较字符串
1.1.3逻辑操作符
英文符号 | 算数符号 | 作用 |
---|---|---|
-a | && | 逻辑与“而且”的意思,前后条件都需要成立 |
-o | 丨丨 | 逻辑或“或者”的意思,前后条件中成立一个 |
! | 逻辑否 ,“取反”的意思 |
- &&与|| 操作符能正常作用域[[]]条件判断结构中,但是如果出现![在这里插入图片描述]在[]中会报错
1.1.4字符串比较
符号 | 作用 |
---|---|
==或者= | 判断字符串是否相同 |
!= | 支付穿是否不相同 |
-z | 判断字符串是否为空 |
-n | 判断字符串是否有值 |
=与==
!=
-z
-n
二、if语句结构
2.1单分支结构
语句结构
if # 条件测试操作
then 命令序列
fi
2.1.1单分支实验
(1)判断/opt目录下,有没有test.sh这个文件,如果没有创建
2.2双分支结构
语句结构
if (条件测试语句)
then (命令序列1)
else (命令序列2)
fi
2.2.1 双分支实验
判断一个数是奇数还是偶数
2.3多分支结构
语句结构
if 条件测试语句
then 命令序列
elif 条件测试操作
then 命令序列2
else
命令序列3
fi
2.3.1多分支实验
输入一个分数100到80为优秀,60到80良好,60以下为继续努力
三、case语句
3.1case多分支结构
语句结构
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
…………
*)
默认命令学历
esac
3.2case实验
date的使用
- date查看当前系统时间
- -d 你描述的日期,显示指定字符串所描述的时间,而非当前时间
- %F 完整日期格式,等价于 %Y-%m-%d
- % T 时间(24小时制)(hh:mm:ss)