基本语法

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

  • 注意:[条件判断式], 中括号和条件判断式之间必须有空格