shell腳本中的邏輯判斷

  • 格式1:if 條件 ; then 語句; fi 命令行寫法1:
[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if [ $a -gt 3 ]   //這裏的$a表示取a的值,gt是great than表示大於的意思,小於用lt表示,即less than
> then
> echo ok
> fi
ok
[root@lijie-01 ~]#

命令行寫法2:bash

[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if [ $a -gt 3 ]; then echo ok; fi
ok
[root@lijie-01 ~]#

腳本寫法3(這種寫法是之後經常使用的):less

[root@lijie-01 ~]# cat ifi.sh
#!/bin/bash
a=5
if [ $a -gt 3 ]
then
  echo ok
fi
[root@lijie-01 ~]# sh ifi.sh
ok
  • 格式2:if 條件; then 語句; else 語句; fi
[root@lijie-01 ~]# cat ifi2.sh  
#!/bin/bash
a=1
if [ $a -gt 3 ]
then
  echo ok
else
  echo nook
fi
[root@lijie-01 ~]# sh ifi2.sh
nook
  • 格式3:if …; then … ;elif …; then …; else …; fi
    咱們寫以下一個腳本
[root@lijie-01 ~]# cat ifi2.sh
#!/bin/bash
a=1
if [ $a -gt 3 ]
then
  echo ok
else
  echo nook
fi
[root@lijie-01 ~]#

查看執行過程
輸入圖片說明命令行

  • 邏輯判斷表達式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意處處都是空格
    gt 表示大於 great than
    lt 表示小於 less than
    eq 表示等於 equal
    ne 表示不等於no equal
    上面咱們使用的是gt lt eq等字符來表示大於、小於,等於;其實咱們也能夠使用> < = >=來表示,只不過須要用兩層括號,以下:
[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if (($a>1));then echo ok; fi 
ok
[root@lijie-01 ~]#
  • 能夠使用 && || 結合多個條件
  • if [ $a -gt 5 ] && [ $a -lt 10 ]; then
  • if [ $b -gt 5 ] || [ $b -lt 3 ]; then
相關文章
相關標籤/搜索