if判断是编程中的一种控制结构,用于根据条件的真假来执行不同的代码块。它的作用是根据条件判断来决定程序的执行路径。
当if条件为真时,会执行后续的代码块。如果条件为假,则可以选择执行else语句中的代码块,或者不执行任何操作。
if判断可以根据不同的条件执行不同的代码块,从而实现程序的分支控制。它在程序中起到了决策的作用,可以根据不同的条件执行不同的逻辑。
在Shell编程中,if判断常常用于检测命令的执行结果、变量的值或者表达式的真假。它的语法如下:
if [条件] ; then
执行语句
else
执行语句
fi
整数值的比较
操作符:
-eq | 等于 |
-gt | 大于 |
-lt | 小于 |
-ge | 大于等于 |
-le | 小于等于 |
-ne | 不等于 |
例:编写一个能够监视/boot目录的剩余空间百分比的脚本,丙炔当空闲率达到百分之80能够发出报警提示
# /bin/bash
i=$( df -h /boot | awk '/\// { print int($5) }' )
f=$[100-$i]
if [ $f -le 80 ]
then
echo "/boot目录的空闲率不足百分之80,当前空闲率为$f %"
fi
逻辑测试(与、或、非)
- -a或&& :与,全部为真才为真
与运算(&&):在使用 && 运算符时,左边的条件为真(返回 0),则执行右边的操作;如果左边的条件为假(非 0),则右边的操作将不会执行。
- -o或|| : 或, 一个为真即是真
或运算(||):在使用 || 运算符时,左边的条件为真(返回 0),则右边的操作将不会执行;如果左边的条件为假(非 0),则执行右边的操作。
- !: 否
非运算(!):在使用 ! 运算符时,将对条件进行取反操作。如果条件为真(返回 0),取反后为假(非 0);如果条件为假(非 0),取反后为真(返回 0)。
格式:
[ 表达式1 ] && [ 表达式2 ] 等同于 [ 表达式1 -a 表达式2 ] [[ 表达式1 && 表达式2 ]]
[ 表达式1 ] || [ 表达式2 ] 等同于 [ 表达式1 -o 表达式2 ] [[ 表达式1 || 表达式2 ]]
例:
# /bin/bash
if [ 1 -lt 2 ] || [ 1 -gt 3 ] ; then
echo "true"
else
echo "false"
fi
字符串比较
= | 字符串内容相同 |
!= | 字符串内容不同,! 号表示相反的意思 |
-z | 字符串内容为空 |
-n | 字符是否存在 |
多重if结构
多重if结构是一种嵌套的条件语句,用于根据不同的条件执行不同的代码块。多重if结构由多个if语句组成,每个if语句都有一个条件表达式和一段需要执行的代码块。
if [判断条件] ; then
条件成立的分支代码
elif [ 判断条件] ; then
条件成立后的代码1
elif [ 判断条件] ; then
条件成立后的代码2
...
else
条件不成立的分支代码
fi
运行演示:
#!/bin/bash
read -p "请输入你本次的成绩:" score
if [ $score -eq 100 ] ; then
echo "优秀!"
elif [ $score -le 99 ] && [ $score -ge 80 ] ; then
echo "良好!"
elif [ $score -le 79 ] && [ $score -ge 60 ] ; then
echo "及格!"
elif [ $score -le 59 ] && [ $score -ge 0 ] ; then
echo "继续努力!"
else
echo "输入有误!请输出0-100的分数值!"
fi
如有错误给孩子提醒一下,感谢观看!