和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中文速查表
- 中文速查表