和C语言类似,在Bash中用if、then、elif、else、fi这几条命令实现分支控制。
## 1.语法
if..then..fi的语法:
```
#!/bin/bash
if [ 条件语句 ];then # 推荐书写方式
执行内容
fi
# 或
if [ 条件语句 ]
then
执行内容
fi
# 或
if (());then
执行内容
fi
# 或
if command ;then
执行内容
fi
```
(**注:初学者一定要注意以上if..then语法中,条件语句两边都是有空格的,缺少一个空格都会报错且不容易被注意到。**)
## 2.案例
* 1.if..then的\[\]案例,比较两个值是否相等。
```
#!/bin/sh
a=10
b=20
if [ $a == $b ];then # 如果if和then写在一行,需要通过;来进行分割
echo "a is equal to b"
fi
if [ $a != $b ]
then
echo "a is not equal to b"
fi
```
* 2.if..then的\(\(\)\)案例,比较两个值是否相等。
```
#!/bin/bash
i=100
if ((10 <$i));then # 数学比较方式
echo "true"
fi
```
* 3.if..command,判断是否为目录结构。
```
#!/bin/bash
dir=/home/
if cd "$dir" 2>/dev/null; then # "2>/dev/null" 会隐藏错误信息.
echo "Now in $dir."
fi
```
- Introduction
- 1.Shell编程基础
- 什么是Shell
- 编写第一个Bash程序
- 2.变量
- 什么是变量
- 变量四种赋值方式
- 指定变量类型
- 变量的类型
- 特殊变量
- 3.Bash符号相关
- Bash符号相关
- 特殊符号
- 数学运算符号
- 4.内建命令与外部命令
- 内建命令与外部命令
- 5.read命令
- read命令
- 6.条件语句
- if..then..fi
- if..then..else..fi
- if..then..elif..fi
- 空命令
- 文件测试符
- 字符串判断、与、或和非
- []与[[]]符号
- 7.Bash循环 && 分支语句
- while循环语句
- for循环
- for..in循环
- until循环
- select循环
- case分支语句
- 8.正则表达式
- 正则表达式
- 9.子Shell和受限Shell
- 子Shell
- 受限Shell
- 10.函数与函数的加载
- 函数语法与案例
- 递归函数
- 函数的加载
- 11.Bash脚本风格
- Bash脚本风格
- 12.Bash脚本调试
- Bash脚本调试
- 13.sed && awk
- sed
- 14.awk
- awk
- 15 Bash杂项 && 案例
- while循环的陷阱
- Bash的生命周期
- IO重定向
- /bin/bash和/bin/sh区别
- 命令杂项
- Shell加密
- 16.10.2.案例
- Bash版回收站
- 17.Bash中文速查表
- 中文速查表