shell編程學習筆記(八):Shell中的if條件判斷

編程語言中都有條件判斷,shell編程也不例外,下面咱們來看一下shell中應該怎麼使用if條件判斷shell

 

如下藍色字體部分爲Linux命令,紅色字體的內容爲輸出的內容:編程

# cd /opt/scriptsvim

# vim script07.sh編程語言

開始編寫script07.sh的腳本,腳本內容爲:字體

#! /bin/sh
if [ 3 -gt 2 ]
then echo "3>2"
fi

if [ 3 -lt 2 ]
then echo "3<2"
else echo "3>2"
fi

上面的代碼,注意if後面跟的條件是用中括號括起來的,注意括號和判斷條件中間要有空格,否則會報錯。spa

還要注意關鍵字部分都須要新起行,否則也會報錯。code

條件的結束關鍵字比較特殊,用的是fi,恰好是把if反過來寫。blog

關係運算符中-gt是指大於,-lt是指小於,下面是關係運算符的列表:ip

運算符 說明 舉例
-eq 檢測兩個數是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。
-ne 檢測兩個數是否不相等,不相等返回 true。 [ $a -ne $b ] 返回 true。
-gt 檢測左邊的數是否大於右邊的,若是是,則返回 true。 [ $a -gt $b ] 返回 false。
-lt 檢測左邊的數是否小於右邊的,若是是,則返回 true。 [ $a -lt $b ] 返回 true。
-ge 檢測左邊的數是否大於等於右邊的,若是是,則返回 true。 [ $a -ge $b ] 返回 false。
-le 檢測左邊的數是否小於等於右邊的,若是是,則返回 true。 [ $a -le $b ] 返回 true。

 

 

 

 

 

 

 

 

 

 

開始執行這個腳本:ci

# chmod +x script07.sh

# ./script07.sh

3>2

3>2

 

上面的代碼,也常常會這麼寫:

#! /bin/sh
if [ 3 -gt 2 ]; then
echo "3>2"
fi

if [ 3 -lt 2 ]; then
echo "3<2"
else
echo "3>2"
fi

這兩段代碼的區別就是第二段代碼會把if和then放到一行,分號是用來隔斷每一個語法關鍵字或命令的,因此若是想把then關鍵字放到if同一行,就須要在then前添加分號

兩段代碼功能同樣,我這裏主要是演示一下分號的使用。

相關文章
相關標籤/搜索