在Shell腳本中,if
語句用于根據條件執行代碼塊
數值比較:
-eq
:等于-ne
:不等于-gt
:大于-lt
:小于-ge
:大于等于-le
:小于等于示例:
if [ $num1 -eq $num2 ]; then
echo "Numbers are equal."
fi
字符串比較:
=
:相等!=
:不相等-z
:字符串長度為0-n
:字符串長度不為0示例:
if [ "$str1" = "$str2" ]; then
echo "Strings are equal."
fi
文件測試:
-e
:文件存在-d
:文件是目錄-f
:文件是普通文件-r
:文件可讀-w
:文件可寫-x
:文件可執行示例:
if [ -e "file.txt" ]; then
echo "File exists."
fi
邏輯運算:
&&
:邏輯與(and)||
:邏輯或(or)!
:邏輯非(not)示例:
if [ $num1 -gt $num2 ] && [ $num1 -lt 100 ]; then
echo "Number is greater than the other but less than 100."
fi
注意:在條件表達式中,使用方括號[
和]
,并在操作符兩側添加空格。在比較字符串時,確保將變量放在雙引號內,以避免空格或特殊字符導致的錯誤。