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