shell脚本中的逻辑判断
- 格式1:if 条件 ; then 语句; fi
- 格式2:if 条件; then 语句; else 语句; fi
- 格式3:if …; then … ;elif …; then …; else …; fi
- 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格
- 可以使用 && || 结合多个条件
- if [ $a -gt 5 ] && [ $a -lt 10 ]; then
- if [ $b -gt 5 ] || [ $b -lt 3 ]; then
shell脚本中的逻辑判断,
- for语句循环
[root@hf-01 ~]# for i in `seq 1 5`; do echo $i;done12345[root@hf-01 ~]# [root@hf-01 ~]# for i in `seq 1 5`> do> echo $i> done12345[root@hf-01 ~]#
if语句第一种格式
- 格式1:if 条件 ; then 语句; fi
[root@hf-01 shell]# vim if1.sh#! /bin/basha=5if [ $a -gt 3 ]then echo OKfi[root@hf-01 shell]# sh 03.shOK[root@hf-01 shell]#
if语句第二种格式
- 格式2:if 条件; then 语句; else 语句; fi
[root@hf-01 shell]# cp if1.sh if2.sh[root@hf-01 shell]# vim if2.sh[root@hf-01 shell]# sh -x if1.sh+ a=1+ '[' 1 -gt 3 ']'+ echo nooknook[root@hf-01 shell]# cat if2.sh#! /bin/basha=1if [ $a -gt 3 ]then echo OKelse echo nookfi[root@hf-01 shell]#
if语句第三种格式
- 格式3:if …; then … ;elif …; then …; else …; fi
[root@hf-01 shell]# vim if3.sh[root@hf-01 shell]# cat if3.sh#! /bin/basha=6if [ $a -lt 5 ]then echo "<5"elif [ $a -gt 5 ] && [ $a -lt 9 ]then echo "5<9"else echo ">9"fi[root@hf-01 shell]# sh -x if3.sh+ a=6+ '[' 6 -lt 5 ']'+ '[' 6 -gt 5 ']'+ '[' 6 -lt 9 ']'+ echo '5<9'5<9[root@hf-01 shell]#
- 逻辑判断表达式
- if [ $a -gt $b ] 表示,大于
- if [ $a -lt 5 ] 表示,小于
- if [ $b -eq 10 ] 表示,等于10
- -ne(!=) 表示,不等于
- -ge(>=) 表示,大于等于
- -le(<=) 表示,小于等于
- 可以使用 && || 结合多个条件
- if [ $a -gt 5 ] && [ $a -lt 10 ]; then
- if [ $b -gt 5 ] || [ $b -lt 3 ]; then