【基础】条件语句与循环结构
发布时间: 2024-06-26 15:43:19 阅读量: 69 订阅数: 110
![python深度学习合集](https://img-blog.csdnimg.cn/img_convert/66cee18f94eed83c74b218db90c42757.png)
# 2.1 条件语句的基本语法和类型
条件语句是 Shell 脚本中控制程序流程的重要结构,用于根据给定的条件执行不同的代码块。Shell 脚本中提供了两种基本类型的条件语句:if-else 语句和 case 语句。
### 2.1.1 if-else 语句
if-else 语句用于根据条件表达式执行不同的代码块。其语法格式如下:
```shell
if [ 条件表达式 ]; then
# 如果条件表达式为真,执行此代码块
else
# 如果条件表达式为假,执行此代码块
fi
```
其中,`[ 条件表达式 ]` 是一个方括号括起来的条件表达式,它可以是简单的比较操作(如 `[ $a -eq 5 ]`)、逻辑操作(如 `[ $a -gt 5 -a $b -lt 10 ]`)或复杂表达式(如 `[ -f /tmp/file ]`)。
# 2. Shell脚本中条件语句的实战应用
### 2.1 条件语句的基本语法和类型
#### 2.1.1 if-else语句
if-else语句用于根据条件判断来执行不同的代码块。其基本语法如下:
```shell
if [ condition ]; then
# 条件为真时执行的代码块
else
# 条件为假时执行的代码块
fi
```
其中,`condition`为判断条件,可以是任何shell命令或表达式。如果`condition`为真(返回0),则执行`then`代码块;否则,执行`else`代码块。
**代码块示例:**
```shell
if [ $num -gt 10 ]; then
echo "The number is greater than 10."
else
echo "The number is less than or equal to 10."
fi
```
**逻辑分析:**
此代码块检查变量`$num`是否大于10。如果是,则打印"The number is greater than 10.";否则,打印"The number is less than or equal to 10."。
#### 2.1.2 case语句
case语句用于根据变量的值来执行不同的代码块。其基本语法如下:
```shell
case $variable in
pattern1)
# 变量与pattern1匹配时执行的代码块
;;
pattern2)
# 变量与pattern2匹配时执行的代码块
;;
...
*)
# 变量与任何模式都不匹配时执行的代码块(可选)
;;
esac
```
其中,`$variable`为要匹配的变量,`pattern1`、`pattern2`等为匹配模式。如果变量与某个模式匹配,则执行相应的代码块。如果变量与任何模式都不匹配,则执行`*`代码块(可选)。
**代码块示例:**
```shell
case $choice in
"A")
echo "You chose option A."
;;
"B")
echo "You chose option B."
;;
*)
echo "Invalid choice."
;;
esac
```
**逻辑分析:**
此代码块检查变量`$choice`的值。如果`$choice`为"A",则打印"You chose option A.";如果`$choice`为"B",则打印"You chose option B.";如果`$choice`不为"A"或"B",则打印"Invalid choice."。
### 2.2 条件语句的进阶应用
#### 2.2.1 逻辑运算符的使用
逻辑运算符用于组合条件,形成更复杂的判断条件。常用的逻辑运算符包括:
- `&&`:逻辑与,当两个条件都为真时返回真
- `||`:逻辑或
0
0