20.5 shell脚本中的逻辑判断

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脚本中的逻辑判断,shell注意点

  • for语句循环
[root@hf-01 ~]# for i in `seq 1 5`; do echo $i;done
1
2
3
4
5
[root@hf-01 ~]# 
[root@hf-01 ~]# for i in `seq 1 5`
> do
> echo $i
> done
1
2
3
4
5
[root@hf-01 ~]#

if语句第一种格式

  • 格式1:if 条件 ; then 语句; fi
[root@hf-01 shell]# vim if1.sh
#! /bin/bash
a=5
if [ $a -gt 3 ]
then 
    echo OK
fi
[root@hf-01 shell]# sh 03.sh
OK
[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 nook
nook
[root@hf-01 shell]# cat if2.sh
#! /bin/bash
a=1
if [ $a -gt 3 ]
then
	echo OK
else
	echo nook
fi
[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/bash
a=6
if  [ $a -lt 5 ]
then 
	echo "<5"
elif [ $a -gt 5 ] && [ $a -lt 9 ]
then 
	echo "5<a<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<a<9'
5<a<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
相关文章
相关标签/搜索