什么是if
if是模仿人类的判断来进行的,只有true和false两种结果
if算数比较运算符(整数比较)
比较字符 含义 示例
-eq 等于则条件为真 [ 1 -eq 10 ]
-lt 小于则条件为真 [ 1 -lt 10 ]
-le 小于等于则条件为真 [ 1 -le 10 ]
-ne 不等于则条件为真 [ 1 -ne 10 ]
-gt 大于则条件为真 [ 1 -gt 10 ]
-ge 大于等于则条件为真 [ 1 -ge 10 ]
————————————————
if字符串比较运算符(字符串需要加引号)
比较字符 含义 比较字符 含义
== 相等 != 不等
-n 检查字符串长度是否大于0 -z 检查字符串长度是否为0
if文件比较与检查(-f -d -e … )
文件比较运算符 含义 示例
-e 如果文件或目录存在,则为真 [ -e /var/log/syslog ]
-d 如果文件存在且为目录,则为真 [ -d /tmp/mydir ]
-f 如果文件存在且为文件,则为真 [ -f /usr/bin/grep ]
-L 如果文件存在文件为符号链接,则为真 [ -L /usr/bin/grep ]
-r 如果文件存在文件且可读,则为真 [ -r /var/log/syslog ]
-w 如果文件存在文件且可写,则为真 [ -w /var/mytmp.txt ]
-x 如果文件存在且为可执行文件,则为真 [ -x /usr/bin/grep.sh ]
-nt 如果文件1比 文件2 新,则为真 [ /tmp/install/etc/services -nt /etc/services ]
-ot 如果文件1 比文件2 旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
————————————————
单分支语法 单分支代码示例
if [ 如果你有房 ];then if [ $1 -eq $2 ];then
我们就结婚 echo "ok"
fi fi
双分支结构 双分支代码示例
if [ 如果你有房 ];then if [ $giao -ge 10 ]
我就嫁给你 then
else echo “成立”
拜拜! else
fi echo “不成立”
fi
多分支结构
if [ 如果你有房 ];then
我就嫁给你
elif [ 如果你有车 ];then
我就嫁给你
elif [ 如果你有钱 ];then
我就嫁给你
else
拜拜!
fi