在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,如果是,则输出"输入的数字是正数",否则输出"输入的数字不是正数"。