基本语法
if [condition] (注意 condition 前后要有空格)
then
echo "" #执行体
fi #结束
#非空返回 true, 可使用 $? 验证 (0 为 true,>1 为 false)
应用实例
[hspEdu] 返回 true
[ ] 返回 false
[condition] && echo OK || echo notok 条件满足,执行后面的语句
判断语句
常用判断条件
1) | |
---|---|
= | 字符串比较 |
2) | <font color='green'> 两个整数的比较 </font> |
-lt | 小于 |
-le | 小于等于 |
-eq | 等于 |
-gt | 大于 |
-ge | 大于等于 |
-ne | 不等于 |
3) | <font color='green'> 按照文件权限进行判断 </font> |
-r | 有度的权限 |
-w | 有写的权限 |
-x | 有执行的权限 |
4) | <font color='green'> 按照文件类型进行判断 </font> |
-f | 文件存在并且是一个常规的文件 |
-e | 文件存在 |
-d | 文件存在并是一个目录 |
- 案例
#!/bin/bash | |
#判断两个 ok 字符串是否相同 | |
if [ "ok" = "ok" ] | |
then | |
echo "相同" | |
fi | |
#判断 23 是否大于 22 | |
if [ 23 -ge 22 ] | |
then | |
echo "大于" | |
fi | |
#判断文件是否存在且是否常规 | |
if [ -f /opt/shcodetest/a.txt ] | |
then | |
echo "存在且无异常" | |
fi | |
#细节 | |
if [ dkx ] #瞎写的非空即为 true 如果写 [] 中间没有空格则报错,如果有空格而为空那么就是 false 不输出 then 中的 echo | |
then | |
echo "OK" | |
fi |
# 多分支 if
基本语法
<font color='red'> 单分支 </font>
if [条件判断式]
then
代码
fi
<font color='red' size=4> 或者多分支 </font>
if [条件判断式]
then
代码
elif [条件判断式]
then
代码
fi
- 注意:[条件判断式], 中括号和条件判断式之间必须有空格