在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之前必须有空行。