在Shell中,if語句的基本語法如下:
if [ condition ]; then
# 代碼塊
else
# 代碼塊
fi
條件語句的條件可以是以下幾種形式之一:
[ "$str1" operator "$str2" ]
,其中operator
可以是=
(相等)、!=
(不相等)、<
(小于)、>
(大于)、-z
(空字符串)或-n
(非空字符串)。-eq
(等于)、-ne
(不等于)、-lt
(小于)、-gt
(大于)、-le
(小于等于)或-ge
(大于等于)進行比較。-d
(目錄是否存在)、-e
(文件或目錄是否存在)、-f
(文件是否存在且為普通文件)或-s
(文件是否存在且非空)。-a
(與)、-o
(或)或!
(非)進行邏輯運算。以下是一個簡單的例子,判斷一個數字是否是正數:
#!/bin/bash
read -p "請輸入一個數字: " num
if [ $num -gt 0 ]; then
echo "輸入的數字是正數"
else
echo "輸入的數字不是正數"
fi
在上面的例子中,用戶輸入一個數字,然后通過if語句判斷該數字是否大于0,如果是,則輸出"輸入的數字是正數",否則輸出"輸入的數字不是正數"。