shell if
时间: 2023-06-30 17:23:59 浏览: 112
Shell 脚本中的 if 语句用于根据条件判断是否执行某段代码。
if 语句的语法格式如下:
```
if [ 条件 ]
then
# 条件成立时执行的操作
fi
```
其中 `[ 条件 ]` 中的条件可以是比较运算符、逻辑运算符或者字符串比较符号等,具体如下:
1. 比较运算符
- `-eq`:等于
- `-ne`:不等于
- `-gt`:大于
- `-ge`:大于等于
- `-lt`:小于
- `-le`:小于等于
示例:
```
num1=10
num2=20
if [ $num1 -eq $num2 ]
then
echo "num1 等于 num2"
fi
```
2. 逻辑运算符
- `-a`:逻辑与
- `-o`:逻辑或
- `!`:逻辑非
示例:
```
num=10
if [ $num -gt 5 -a $num -lt 15 ]
then
echo "num 在 5 和 15 之间"
fi
```
3. 字符串比较符号
- `=`:等于
- `!=`:不等于
- `-z`:长度为 0
- `-n`:长度不为 0
示例:
```
str1="hello"
str2="world"
if [ $str1 = $str2 ]
then
echo "str1 等于 str2"
fi
```
除了上面的单个 if 语句外,还可以使用 if-else、if-elif-else 等复合结构来实现更复杂的条件判断。
if-else 语法格式如下:
```
if [ 条件 ]
then
# 条件成立时执行的操作
else
# 条件不成立时执行的操作
fi
```
if-elif-else 语法格式如下:
```
if [ 条件1 ]
then
# 条件1 成立时执行的操作
elif [ 条件2 ]
then
# 条件2 成立时执行的操作
else
# 条件都不成立时执行的操作
fi
```
以上是 Shell 脚本中 if 语句的基本用法,可以根据具体的需求选择适合自己的语法结构。
阅读全文