Shell編程-09-Shell中的case語句

? ? case語句相當于多分支的if/elif/else語句,而在使用case會讓腳本看起來更簡單工整察郁。在case語句中,程序會將獲取到的值與case表達式中的條件逐一進行對比美旧,如果匹配則執(zhí)行對應(yīng)的語句怀大,遇到雙分號(;;)則停止執(zhí)行。如果一直未找到匹配項逼友,則執(zhí)行*)后面的語句精肃,相當其他語言中的default功能。

基本語法

case "var" in
   value 1)
     語句
     ;;
   value 2)
     語句
     ;;
   value n)
     語句
     ;;
   *)
     語句
esac

最后一個分支語句帜乞,即esac前司抱,可以省略雙分號

case示例

[root@localhost Test]# cat case.sh
#!/bin/bash
a=$1
case "${a}" in
  1)
   echo "input number is 1"
   ;;
  2)
   echo "input number is 2"
   ;;
  3)
   echo "input number is 3"
   ;;
  *)
   echo "case default value"
esac

[root@localhost Test]# bash case.sh 1
input number is 1   # 匹配條件1
[root@localhost Test]# bash case.sh 3
input number is 3   # 匹配條件3
[root@localhost Test]# bash case.sh a
case default value   # 未匹配到條件

使用if語句同樣可以達到同樣的效果

[root@localhost Test]# cat caseif.sh 
#!/bin/bash
a=$1
if [ ${a} -eq 1 ]
  then
   echo "input number is 1"
elif [ ${a} -eq 2 ]
   then
    echo "input number is 2"
elif [ ${a} -eq 3 ]
   then
     echo "input number is 3"
else
  echo "case default value"
fi

[root@localhost Test]# bash caseif.sh 1
input number is 1
[root@localhost Test]# bash caseif.sh 3
input number is 3
[root@localhost Test]# bash caseif.sh a
caseif.sh: 第 3 行:[: a: 期待整數(shù)表達式
caseif.sh: 第 6 行:[: a: 期待整數(shù)表達式
caseif.sh: 第 9 行:[: a: 期待整數(shù)表達式
case default value

case語句總結(jié)

  • 1、case語句比較適合變量值較少且為固定的數(shù)字或字符串集合的情況黎烈。
  • 2习柠、case一般常用于編寫服務(wù)的啟動腳本等
  • 3、if則是取值進行判斷比較照棋,應(yīng)用面比case要廣资溃,大部分的case語句可以使用if進行替代
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市烈炭,隨后出現(xiàn)的幾起案子溶锭,更是在濱河造成了極大的恐慌,老刑警劉巖符隙,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趴捅,死亡現(xiàn)場離奇詭異,居然都是意外死亡霹疫,警方通過查閱死者的電腦和手機拱绑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丽蝎,“玉大人欺栗,你說我怎么就攤上這事≌髀停” “怎么了迟几?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長栏笆。 經(jīng)常有香客問我类腮,道長,這世上最難降的妖魔是什么蛉加? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任蚜枢,我火速辦了婚禮缸逃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘厂抽。我一直安慰自己需频,他們只是感情好,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布筷凤。 她就那樣靜靜地躺著昭殉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪藐守。 梳的紋絲不亂的頭發(fā)上挪丢,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音卢厂,去河邊找鬼乾蓬。 笑死,一個胖子當著我的面吹牛慎恒,可吹牛的內(nèi)容都是我干的任内。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼融柬,長吁一口氣:“原來是場噩夢啊……” “哼族奢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丹鸿,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎棚品,沒想到半個月后靠欢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡铜跑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年门怪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锅纺。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡掷空,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出囤锉,到底是詐尸還是另有隱情坦弟,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布官地,位于F島的核電站酿傍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏驱入。R本人自食惡果不足惜赤炒,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一氯析、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧莺褒,春花似錦掩缓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至旷余,卻和暖如春绢记,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背正卧。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工蠢熄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炉旷。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓签孔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親窘行。 傳聞我的和親對象是個殘疾皇子饥追,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第 2 章 SHELL 基礎(chǔ)知識2.1 shell腳本我們在上面簡單介紹了一下什么是shell腳本,現(xiàn)在我們來進一...
    LiWei_9e4b閱讀 1,574評論 0 0
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)罐盔,也就是一...
    悟名先生閱讀 4,149評論 0 13
  • 什么是運維 術(shù)語名詞 IDC--(Internet Data Center)互聯(lián)網(wǎng)數(shù)據(jù)中心惶看,主要服務(wù)包括整機租用捏顺、...
    lyh165閱讀 2,707評論 0 19
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,383評論 0 5
  • 經(jīng)撤荆看到廣告里面的食物和產(chǎn)品都“光耀照人”,讓人一看了就想買就想吃本今,但到實際拿到手后卻很電視里的截然不同拆座。很多人都...
    Curtis2019閱讀 495評論 0 0