所有编程语言都离不开逻辑判断,shell也是如此。
1、结构格式
if ...;then
do smithing
elif ...;then
do another smithing
else
do else smithing
fi
2、实例
#!/bin/bash
SYSTEM=$(uname -s) #获取操作系统 也可以是 SYSTEM=`uname -s`
if [ $SYSTEM = "Linux" ];then
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ];then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ];then
echo "Solaris"
else
echo "unknow system $SYSTEM"
fi
3、IF中的各种判断
3.1 、字符串判断
str1 = str2 #当两个串有相同内容、长度时为真
str1 != str2 #当串str1和str2不等时为真
-n str1 #当串的长度大于0时为真(串非空)
-z str1 #当串的长度为0时为真(空串)
str1 #当串str1为非空时为真
3.2、数值的判断
int1 -eq int2 #两数相等为真
int1 -ne int2 #两数不等为真
int1 -gt int2 #int1大于int2为真
int1 -ge int2 #int1大于等于int2为真
int1 -lt int2 #int1小于int2为真
int1 -le int2 #int1小于等于int2为真
3.3、文件的判断
-r file #用户可读为真
-w file #用户可写为真
-x file #用户可执行为真
-f file #文件为正规文件为真
-d file #文件为目录为真
-c file #文件为字符特殊文件为真
-b file #文件为块特殊文件为真
-s file #文件大小非0时为真
-t file #当文件描述符(默认为1)指定的设备为终端时为真
3.4、逻辑判断符
-a #与
-o #或
! #非