条件测试:
test条件测试的表达式
[条件表达式]
Test常用的操作符:
- -e测试目录和文件是否存在
2. -d 测试是否为目录
3. -f 测试是否为文件
4 -r 测试当前用户是否有读权限
5. -w 测试当前用户是否有写权限
6.-x 测试当前用户是否有执行权限
test比较字符串。
比较符号:
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
以上只能用于比较整数,不能用于字符串
==等于(即可以比整数,也可以比字符串)
!= 不等于 >大于 <小于 <= 小于等于 >= 大于等于
比如说
4 -gt 5
[]两边的值必须要有空格
双中括号功能更强大,语法和单中括号一致
避免歧义,支持正则表达式
-z 检测字符串是否为空
逻辑测试:
且 条件测试的条件都要为真 -a &&
或 有一边满足即可 -o ||
! 逻辑否
表达式的格式 [表达式1] 操纵符
用-a -o表达式做表达式一定要放在一个括号里
双中括号只能用&& || 表示逻辑且或逻辑或
单中括号只能用-a -o 要么分开写只能用 && ||
重点
单分支结构
If [[]]
Then
命令序列
fi
两种写法
双分支结构
If[]
Then
Echo”满足if条件执行的语句”
Else
Echo“不满足if条件执行的语句”
fi
要求有1个ip地址,这个需要用户你手动输入,然后判断,ping同要保留到/pt/hots.txtping不通,打印结果,ip地址不可用。
现在我有1-100这么多数,输入一个数,来判断是偶数还是基数
第二种:
多分枝结构
If[条件1]
Then
执行条件1的命令序列
Elif[条件2]
Then
执行条件2的命令序列
Else
上述都不执行,执行else的命令序列
Fi
现在我们有一个分数值:
0-100
大于等于85小于等于100
优秀
大于等于70 小于等于84
一般
大于等于60 小于等于69
及格
上面的条件都不满足,抄30遍
If嵌套:
把上面的题目进行过滤,
第一步,进行过滤:只能是整数才能继续判断:
0-100
输入一个数,判断是整数,而且范围必须在0-100
才能继续执行:
输入的数字是基数还是偶数
当用户输入一个数,判断是否为整数,但是根据数字的大小打印不同消息
10
输入的数字大于10
输入的数字比10小
输入的数字和10相等
fi
else
输入的数字不合法
case语句结构
检测语法逻辑命令
bash -x one.sh(脚本名称)