shell case語句多分支判斷

2021-10-17 14:20:56 字數 1076 閱讀 4191

shell指令碼,case多條件判斷語法基本格式:

#!/bin/bash

op=$1

case $ in

條件1)

cmd_1

cmd_2

;;條件2)

cmd_1

cmd_2

;;*)

cmd_1

cmd_2

exit 1 #可以加退出值

;;esac

case取值後面必須為關鍵字 in,每一模式必須以右括號結束。條件1  條件2 取值可以為變數或常數。case 取值將檢測匹配的每乙個判斷條件。一旦匹配,則執行完該判斷條件下相應命令後,不再繼續其他判斷。如果沒有匹配的判斷條件,則使用星號 * 捕獲該值,再執行*裡面的指令直到結束。匹配符合之後進入判斷分支執行,其間所有命令開始執行直至 ;;    ;; 與c語言中的 break 類似,意思是跳到整個 case 語句到case外面。

下面是乙個例子:

#!/bin/bash

function my_name()

echo "sleep begin 1s"

sleep 1

# $1 是case後面的取值, 後面緊跟 in

case $1 in

all)

echo "i will do all"

#可以在這裡加上 $? 執行結果判斷

;;all)

echo "you will do all"

#可以在這裡加上 $? 執行結果判斷, 下面同樣可以加

;;-c|--clean)

echo "i will clean all my work"

;;linux-quic)

echo " linux-quic"

my_name

#這裡可以對呼叫介面的返回值進行判斷, 然後可以使用exit 退出等操作

;;lk)

echo " linux lk"

;;*)

echo " anything !"

;;esac

sleep 1

shell case結構的多分支執行

通常,我們使用 case 結構是不同的分支執行不同的命令,例如 bin bash var a case var in a echo case a b echo case b c echo case c echo case esac這個指令碼每次只能執行乙個分支。如果有兩個分支執行相同的動作,那麼我們...

Shell多分支if語句

一 語法 if 條件判斷式 then 當條件判斷式1成立時,執行程式1 elif 條件判斷式2 then 當條件判斷式2成立時,執行程式2 省略更多條件 else 當所有條件都不成立時,最後執行程式 fi 二 實現計算器 bin bash read t 30 p please input num1 ...

多分支語句(case)

環境配置 測試指令碼 test.sh pattern 模式 式 格局 樣式 case語法 case 1 in pattern1 語句1 pattern2 語句2 patternn 語句n 例如 root jack31 vim if.sh bin bash test case 1in monitor ...