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語句循環shell

[root@xuexi-001 ~]# for i in `seq 1 5`; do echo $i;done
1
2
3
4
5
[root@xuexi-001 ~]# for i in `seq 1 5`
> do
> echo $i
> done
1
2
3
4
5

if語句第一種格式

  • 格式1:if 條件 ; then 語句; fi
[root@xuexi-001 ~]# a=5
[root@xuexi-001 ~]# if [ $a -gt 3 ]
> then
> echo ok
> fi
ok

腳本形式bash

[root@xuexi-001 shell]# vi if1.sh
#!/bin/bash
a=5
if [ $a -gt 3 ]
then
        echo ok
fi
[root@xuexi-001 shell]# sh if1.sh 
ok

if語句第二種格式

  • 格式2:if 條件; then 語句; else 語句; fi
[root@xuexi-001 shell]# cp if1.sh if2.sh
[root@xuexi-001 shell]# vi if2.sh 

#!/bin/bash
a=1
if [ $a -gt 3 ]
then
        echo ok
else
        echo nook
fi
[root@xuexi-001 shell]# sh -x if2.sh 
+ a=1
+ '[' 1 -gt 3 ']'
+ echo nook
nook
[root@xuexi-001 shell]# sh if2.sh 
nook

if語句第三種格式

  • 格式3:if …; then … ;elif …; then …; else …; fi
[root@xuexi-001 shell]# cp if2.sh if3.sh
[root@xuexi-001 shell]# vi if3.sh 

#!/bin/bash
a=2
if [ $a -gt 4 ]
then
        echo ">1"
elif [ $a -lt 6 ]
then
        echo "<6 && >1"
else
        echo nook
fi
[root@xuexi-001 shell]# sh if3.sh 
<6 && >1
[root@xuexi-001 shell]# sh -x if3.sh 
+ a=2
+ '[' 2 -gt 4 ']'
+ '[' 2 -lt 6 ']'
+ echo '<6 && >1'
<6 && >1
[root@xuexi-001 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
相關文章
相關標籤/搜索