在 Linux 的 Bash 指令碼中否定 if 條件
要在 Linux 的 Bash 指令碼中否定“if”條件,可以使用“!”運算子。例如,如果您有一個“if”語句檢查變數“x”是否等於 5,則可以使用“if [ ! $x -eq 5 ]”來否定該條件。如果條件不成立(即“x”不等於 5),則這將執行“if”塊中的命令。
整數比較
在 Bash 中,可以使用以下運算子比較整數:
eq(等於)
ne(不等於)
gt(大於)
ge(大於或等於)
lt(小於)
le(小於或等於)
例如,可以使用“-eq”運算子檢查變數“x”是否等於 5:
if [ $x -eq 5 ] then echo "x is equal to 5" fi
也可以使用“-ne”運算子檢查變數“x”是否不等於 5:
if [ $x -ne 5 ] then echo "x is not equal to 5" fi
可以類似地使用其他比較運算子。
請注意,方括號和比較運算子周圍的空格很重要,並且在與字串進行比較時,必須將變數括在雙引號中。
字串比較
在 Bash 中,可以使用以下運算子比較字串:
=(等於)
!=(不等於)
-z(字串為空)
-n(字串不為空)
例如,可以使用“=”運算子檢查變數“s”是否等於“hello”:
if [ "$s" = "hello" ] then echo "s is equal to hello" fi
也可以使用“!=”運算子檢查變數“s”是否不等於“hello”:
if [ "$s" != "hello" ] then echo "s is not equal to hello" fi
也可以使用“-z”運算子檢查字串是否為空:
if [ -z "$s" ] then echo "s is an empty string" fi
可以使用“-n”運算子檢查字串是否不為空:
if [ -n "$s" ] then echo "s is not an empty string" fi
請注意,方括號和比較運算子周圍的空格很重要,並且必須將變數括在雙引號中。
否定
在 Bash 中,可以使用“!”運算子否定條件。
例如,可以使用“!”否定變數“x”等於 5 的比較:
if [ ! "$x" -eq 5 ] then echo "x is not equal to 5" fi
也可以使用“!”否定字串比較:
if [ ! "$s" = "hello" ] then echo "s is not equal to hello" fi
可以使用“!”運算子否定任何命令或條件的結果。
此外,可以使用雙重否定來達到相同的效果,如下所示:
if [[ "$x" != 5 ]] then echo "x is not equal to 5" fi
還值得注意的是,可以將 [[...]] 用於字串和數字比較,而不是 [...]。它更易讀且更靈活。
請注意,方括號和比較運算子周圍的空格很重要,並且必須將變數括在雙引號中。
結論
在 Bash 中,可以使用不同的比較運算子檢查相等性、不相等性、大於、小於和其他條件。這些運算子可以與包含整數或字串的變數一起使用。此外,可以使用“!”運算子否定條件以檢查其是否為假。[[...]] 也是一種檢查條件的方法,更易讀且更靈活。需要注意的是,方括號和比較運算子周圍的空格很重要,並且在與字串進行比較時,必須將變數括在雙引號中。