shell中的条件语句
时间: 2024-05-15 17:13:17 浏览: 147
在shell中,可以使用条件语句来判断一个条件是否成立,从而控制程序的执行流程。
常用的条件语句有以下几种:
1. if语句
if语句用于判断一个条件是否成立,如果成立则执行指定的代码块,否则跳过。
if语句的语法如下:
```
if [ condition ]
then
# code to be executed if condition is true
fi
```
其中,`condition`是一个表达式,如果表达式的值为true,则执行`then`和`fi`之间的代码块。
例如,判断一个变量是否为空:
```
if [ -z "$var" ]
then
echo "var is empty"
fi
```
2. if-else语句
if-else语句用于在判断一个条件的情况下,同时执行两个不同的代码块。
if-else语句的语法如下:
```
if [ condition ]
then
# code to be executed if condition is true
else
# code to be executed if condition is false
fi
```
其中,`condition`是一个表达式,如果表达式的值为true,则执行`then`和`else`之间的代码块,否则执行`else`和`fi`之间的代码块。
例如,判断一个变量是否为空并输出不同的提示信息:
```
if [ -z "$var" ]
then
echo "var is empty"
else
echo "var is not empty"
fi
```
3. if-elif-else语句
if-elif-else语句用于在判断多个条件的情况下,同时执行多个不同的代码块。
if-elif-else语句的语法如下:
```
if [ condition1 ]
then
# code to be executed if condition1 is true
elif [ condition2 ]
then
# code to be executed if condition2 is true
else
# code to be executed if all conditions are false
fi
```
其中,`condition1`和`condition2`是两个表达式,如果`condition1`的值为true,则执行`then`和`elif`之间的代码块;如果`condition1`的值为false且`condition2`的值为true,则执行`elif`和`else`之间的代码块;否则执行`else`和`fi`之间的代码块。
例如,判断一个变量的值是否等于某个字符串并输出不同的提示信息:
```
if [ "$var" = "hello" ]
then
echo "var is hello"
elif [ "$var" = "world" ]
then
echo "var is world"
else
echo "var is neither hello nor world"
fi
```
阅读全文