shell腳本詳解(二)——條件測驗、if陳述句和case分支陳述句
- 一、條件測驗
- 1、test命令
- 2、檔案測驗
- 3、整數值比較
- 4、字串比較
- 5、邏輯測驗
- 二、if條件陳述句
- 1、單分支
- 2、雙分支
- 3、多分支
- 4、例題
- ①、例題1
- ②、例題2
- ③、例題3
- 三、case陳述句
- 1、結構
- 2、例題:
- ①、例題1
- ②、例題2
一、條件測驗
1、test命令
- 測驗運算式是否成立,若不成立回傳0,否則回傳其他數值

2、檔案測驗

| 常用運算子 | 說明 |
|---|---|
| -d | 測驗是否為目錄(Directory) |
| -e | 測驗目錄或檔案是否存在(Exist) |
| -f | 測驗是否為檔案(File) |
| -r | 測驗當前用戶是否有權限讀取(Read) |
| -w | 測驗當前用戶是否有權限寫入(Write) |
| -x | 測驗當前用戶是否有權限執行(eXcute) |

3、整數值比較

| 常用運算子 | 說明 |
|---|---|
| -eq | 等于(Equal) |
| -ne | 不等于(Not Equal) |
| -lt | 小于(Leser Than) |
| -gt | 大于(Greater Than) |
| -le | 小于或等于(Lesser or Equal) |
| -ge | 大于或等于(Greater or Equal) |

4、字串比較

| 常用運算子 | 說明 |
|---|---|
| = | 字串內容相同 |
| != | 字串內容不同,!號表示相反的意思 |
| -z | 字串內容為空 |
| -n | 檢查是否有字串存在 |



5、邏輯測驗

| 常用運算子 | 說明 |
|---|---|
| -a或&& | 邏輯與,而且的意思 |
| -o或▕▕ | 邏輯或,或者的意思 |
| ! | 邏輯否 |


二、if條件陳述句
1、單分支



2、雙分支



3、多分支



4、例題
①、例題1
- 檢查用戶家目錄中的 test.sh 檔案是否存在,并且檢查是否有執行權限

②、例題2
- 提示用戶輸入100米賽跑的秒數,要求判斷秒數大于0且小于等于10秒的進入選拔賽,大于10秒的都淘汰,如果輸入其它字符則提示重新輸入;進入選拔賽的成員再進一步判斷男女性別,男生進男生組,女生進女生組,如果輸入錯誤請提示錯誤,


③、例題3
- 提示用戶輸入內容,使用if 陳述句判斷輸入的內容是否為整數,并判斷是偶數還是奇數

三、case陳述句
1、結構

case 變數值 in
模式一)
命令序列
;;
模式二)
命令序列
;;
*)
默認命令序列
esac
2、例題:
①、例題1
- 提示用戶輸入100米賽跑的秒數,要求判斷秒數大于0且小于等于10秒的進入選拔賽,大于10秒的都淘汰,如果輸入其它字符則提示重新輸入;進入選拔賽的成員再進一步判斷男女性別,男生進男生組,女生進女生組,如果輸入錯誤請提示錯誤

②、例題2
- 用case陳述句解壓根據后綴名為 .tar.gz 或 .tar.bz2 的壓縮包到 /opt 目錄

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/266348.html
標籤:其他
上一篇:資料湖 IncrementalPuller 實作分析
下一篇:碩士生活隨筆
