shell指令碼中的if語句與case語句

2021-09-26 10:40:12 字數 1724 閱讀 4985

一、if語句

if語句從上至下按照順序依次判定執行

格式如下:

if  [ ]     ##判定條件(如果)

then ##那麼

elif ###重新的一次判定(又如果)

then ##那麼

.......

else ##否則(可以新增也可以不加)

fi ###結尾(倒寫)

注意:其中的elif不限個數,可以多次判定

步驟如下

編寫指令碼讓輸入指定內容時輸出不同,否則報錯

執行如下

注意if語句是按照順序依次比對執行,有先後順序的區別(排在後邊的後比對,消耗時間)

修改指令碼如下:

當輸入為第乙個判定條件:linux時監控執行過程只匹配一次

當為第二個判定條件時,發現先比對第乙個,比對不上,比對第二個成功,輸出

當為第三個條件時

當為例外的判定條件時

二、case語句

case語句列出所有情況,執行時只比對一次,按照條件匹配,不按順序執行,比對成功直接跳轉,在考慮大小寫混用時直接比列列舉,不用專設條件,省時 格式

case $1 in  ###

westos|westso|westos|westos) ##條件1並且列舉各種大小寫情況

echo linux ##執行內容

;; ##分隔符

linux) ##條件二

echo westos ##執行內容

;; ###分割符

*) ###例外條件(相當於否則)

echo error

esac##結尾(倒寫)

修改指令碼如下:(與if語句比對照應)

輸入條件一時

輸入為大寫時也執行

輸入條件二時,也是直接跳轉,不比對條件1

條件三例外條件

由此可見case語句的跳轉判定比if更高效。

shell指令碼中if語句的用法

分享下shell中if語句的用法。一,if語句 1.if與 之間要有空格 2.與判斷條件之間也必須有空格 3.與 之間不能有空格 二,字串 判斷 1.if str1 str2 then fi 當兩個字串相同時返回真 2.if str1 str2 then fi 當兩個字串不相等時返回真 3.if n...

Shell指令碼中的迴圈語句

這裡包括for while until迴圈,以及變數自增的語法例項。一 for迴圈語句 例項1.1 最基本的for迴圈 傳統的形式,for var in 1 bin bash 2for x in one two three four3do 4echo number x 5 done 執行結果 1 r...

工作中實用shell指令碼與語句

工作中常見shell,結合awk 統連線狀態篇 1.檢視tcp連線狀態 netstat n awk tcp end 2.查詢請求數請20個ip 常用於查詢攻 netstat anlp grep80 greptcp awk awk f sort uniq c sort nr head n20 nets...