在linux script中難免會需要用到一些整數判斷,因此難免會用到「eq、ne、gt、lt、ge、le」這些整數判斷或其他的字串判斷條件,小編今天就要來簡易的說明這些判斷條件使用方法。
[整數判斷]
「-eq」:
測試兩個整數是否「相等」。
範例:
A 等於 B 回傳 true
—————————————————-
#!/bin/bash
A=10
B=10
if [ “$A” -eq “$B” ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-ne」:
測試兩個整數是否「不等」。
範例:
A 不等於 B 回傳 true
—————————————————-
#!/bin/bash
A=10
B=20
if [ “$A” -ne “$B” ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-gt」:
測試一個整數是否「大於」另一個整數。
範例:
A 大於 B 回傳 true
—————————————————-
#!/bin/bash
A=20
B=10
if [ “$A” -gt “$B” ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-lt 」:
測試一個整數是否「小於」另一個整數。
範例:
A 小於 B 回傳 true
—————————————————-
#!/bin/bash
A=10
B=20
if [ “$A” -lt “$B” ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-ge」:
測試一個整數是否「大於或等於」另一個整數。
範例:
A 大於或等於 B 回傳 true
—————————————————-
#!/bin/bash
A=20
B=10
if [ “$A” -ge “$B” ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-le」:
測試一個整數是否「小於或等於」另一個整數。
範例:
A 小於或等於 B 回傳 true
—————————————————-
#!/bin/bash
A=10
B=20
if [ “$A” -le “$B” ]
then
echo “true”
else
echo “false”
fi
—————————————————-
[字串判斷]
「=」:
測試一個字串是否「等於」另一個字串。
範例:
A 等於 B 回傳 true
—————————————————-
#!/bin/bash
A=aaa
B=aaa
if [ “$A” = “$B” ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「!=」:
測試一個字串是否「不等於」另一個字串。
範例:
A 不等於 B 回傳 true
—————————————————-
#!/bin/bash
A=aaa
B=bbb
if [ “$A” != “$B” ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-z」:
測試一個字串是否為「null」。
範例:
A 「等於Null」回傳 true
—————————————————-
#!/bin/bash
A=””
if [ -z $A ]
then
echo “true”
else
echo “false”
fi
—————————————————-
[檔案/目錄相關判斷]
「-d」:
測試是否為「目錄」。
範例:
變數A 為「目錄」回傳 true
—————————————————-
#!/bin/bash
A=”/home”
if [ -d $A ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-f」:
測試是否為「檔案」。
範例:
變數A為 「檔案」回傳 true
—————————————————-
#!/bin/bash
A=”/usr/bin/cat”
if [ -f $A ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-r」:
測試檔案是否為「可讀」。
範例:
變數A的檔案為 「可讀」回傳 true
—————————————————-
#!/bin/bash
A=”/usr/bin/cat”
if [ -r $A ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-s」:
測試檔案是否為「容量大於0」。
範例:
變數A的檔案容量大小為 「大於0」回傳 true(非空檔案的意思)
—————————————————-
#!/bin/bash
A=”/usr/bin/cat”
if [ -s $A ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-w」:
測試檔案是否為「可寫」。
範例:
變數A的檔案為 「可寫」回傳 true
—————————————————-
#!/bin/bash
A=”/tmp/testfile.sh”
if [ -w $A ]
then
echo “true”
else
echo “false”
fi
—————————————————-
「-x」:
測試檔案是否為「可執行」。
範例:
變數A的檔案為 「可執行」回傳 true
—————————————————-
#!/bin/bash
A=”/tmp/testfile.sh”
if [ -x $A ]
then
echo “true”
else
echo “false”
fi
—————————————————-