在shell中,可以使用if條件判斷語句來根據條件的真假執行不同的命令。if語句的基本語法如下:
if [ condition ]
then
command1
command2
...
else
command3
command4
...
fi
其中,[ condition ]
是一個條件表達式,它可以是以下幾種形式之一:
字符串比較:
str1 = str2
:判斷兩個字符串是否相等
str1 != str2
:判斷兩個字符串是否不相等
-n str
:判斷字符串是否非空
-z str
:判斷字符串是否為空
數值比較:
num1 -eq num2
:判斷兩個數是否相等
num1 -ne num2
:判斷兩個數是否不相等
num1 -gt num2
:判斷num1是否大于num2
num1 -lt num2
:判斷num1是否小于num2
num1 -ge num2
:判斷num1是否大于等于num2
num1 -le num2
:判斷num1是否小于等于num2
文件比較:
-e file
:判斷文件是否存在
-f file
:判斷文件是否為普通文件
-d file
:判斷文件是否為目錄
-r file
:判斷文件是否可讀
-w file
:判斷文件是否可寫
-x file
:判斷文件是否可執行
在if語句中,如果條件表達式為真,則執行then后面的命令;如果條件表達式為假,則執行else后面的命令。根據實際需要,可以在then和else后面跟上多個命令,每個命令一行。注意,在if和then之間必須有空格,以及在fi之前必須有空行。