Linux Shell Script常用的整數條件判断介紹

在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
—————————————————-