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