最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell腳本case語句的具體使用

 更新時(shí)間:2025年08月22日 11:11:24   作者:白小書  
Shell腳本中的case語句是一種多分支條件判斷結(jié)構(gòu),主要用于匹配變量值與預(yù)設(shè)模式并執(zhí)行對(duì)應(yīng)的命令序列,下面就來具體介紹一下case語句的具體使用

引言

Shell腳本中的case語句是一種多分支條件判斷結(jié)構(gòu),主要用于匹配變量值與預(yù)設(shè)模式并執(zhí)行對(duì)應(yīng)的命令序列。

一、基礎(chǔ)語法結(jié)構(gòu)

case 變量 in
  模式1)
    命令序列1
    ;;
  模式2|模式3)  # 使用 | 分隔多個(gè)模式
    命令序列2
    ;;
  *)  # 默認(rèn)分支
    默認(rèn)命令序列
    ;;
esac

二、case 語法結(jié)構(gòu)解釋

1、case 語句以case開始,esac結(jié)束(反寫)

2、每個(gè)模式分支以 “)” 結(jié)束,命令序列以 “;;” 終止

3、變量:待匹配的變量或表達(dá)式

4、模式:支持以下幾種匹配模式
    匹配任意長度字符:*          例如:*.jpg       表示匹配jpg擴(kuò)展名
    匹配單個(gè)字符:?              例如:go?d.jpg    表示匹配go“單個(gè)任意字母”d.jpg的文件
    范圍匹配:[...]              例如:[a-z]       表示匹配所有小寫字母
    范圍不匹配:[!...]           例如:[!a-z]      表示排除所有小寫字母
    邏輯或:|                    例如:a|b         表示匹配 a 或 b

三、典型應(yīng)用場景示范

3.1、文件擴(kuò)展名處理

---使用“*”匹配任意長度文件類型執(zhí)行不同操作---
case $file in
  *.tar.gz)  tar -zxvf $file ;;
  *.zip)     unzip $file ;;
  *.log)     grep "ERROR" $file ;;
esac

3.2、匹配英語單詞

---使用“?”單字符匹配和“范圍不匹配”用戶輸---
read -p "Please enter:" Var
case ${Var} in
  go[!opq]d )    # 匹配go*d類單詞(*只包含是1個(gè)字符長度),排除good、gopd、goqd這3個(gè)
    echo "Excluding o :${Var}"
    ;;
  go?d )         # 匹配 good、gopd、goqd
    echo "Include ? :${Var} "
    ;;
  *)             # 默認(rèn)匹配
    echo "Other var : ${Var}"
    ;;
esac

3.3、數(shù)字/字母/符號(hào)分類

---使用“范圍匹配”識(shí)別用戶輸入類型---
read -p "輸入字符: " Var
case $Var in
  [0-9]) echo "匹配數(shù)字" ;;
  [a-zA-Z]) echo "匹配字母" ;;
  *) echo "其他特殊符號(hào)" ;;
esac

3.4、管理服務(wù)腳本‌

---使用“邏輯或”管理nginx服務(wù)---
case $1 in
  start|S) systemctl start nginx ;;
  stop|T)  systemctl stop nginx ;;
  restart|R) systemctl restart nginx ;;
  *) echo "Usage: $0 {start|stop|restart}" ;;
esac

四、case語法特點(diǎn)

1、模式匹配按順序執(zhí)行,首個(gè)匹配成功后即終止
2、默認(rèn)分支*)應(yīng)放在最后,處理未匹配情況
3、支持嵌套使用,可結(jié)合循環(huán)語句增強(qiáng)功能
4、case適合離散值匹配,if更適合范圍判斷
5、case語法比if結(jié)構(gòu)更簡潔直觀、便于維護(hù)
6、數(shù)據(jù)顯示case語句比等效if-else鏈快3倍(處理10000次匹配僅需0.12秒)

到此這篇關(guān)于shell腳本case語句的具體使用的文章就介紹到這了,更多相關(guān)shell腳本case語句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • shell批量curl接口腳本的簡單實(shí)現(xiàn)方法

    shell批量curl接口腳本的簡單實(shí)現(xiàn)方法

    這篇文章主要跟大家介紹了關(guān)于shell批量curl接口腳本的簡單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用shell具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Shell腳本中實(shí)現(xiàn)更新PHP5

    Shell腳本中實(shí)現(xiàn)更新PHP5

    這篇文章主要介紹了Shell腳本中實(shí)現(xiàn)更新PHP5,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • Linux Shell腳本編程的注意事項(xiàng)

    Linux Shell腳本編程的注意事項(xiàng)

    這篇文章主要介紹了Linux下Shell腳本編程的一些注意事項(xiàng),如編程風(fēng)格、命名風(fēng)格等,需要的朋友可以參考下
    2014-03-03
  • 使用SHC對(duì)Shell腳本進(jìn)行封裝和源碼隱藏的方法

    使用SHC對(duì)Shell腳本進(jìn)行封裝和源碼隱藏的方法

    shc是一個(gè)由C語言編寫的Shell腳本加密程序,它可以將你的腳本編譯成二進(jìn)制可執(zhí)行文件,從而隱藏源碼,這篇文章主要介紹了如何使用SHC對(duì)Shell腳本進(jìn)行封裝和源碼隱藏,需要的朋友可以參考下
    2023-10-10
  • shell腳本中main函數(shù)中$#獲取不到腳本傳入?yún)?shù)個(gè)數(shù)淺析

    shell腳本中main函數(shù)中$#獲取不到腳本傳入?yún)?shù)個(gè)數(shù)淺析

    Linux的shell腳本,有時(shí)候我們?cè)谶\(yùn)行shell腳本時(shí)會(huì)給腳本傳入?yún)?shù),出于邏輯上的嚴(yán)謹(jǐn),在腳本中可能會(huì)做一些邏輯判斷或處理,例如判斷腳本傳入?yún)?shù)的個(gè)數(shù),這篇文章主要介紹了shell腳本中main函數(shù)中$#獲取不到腳本傳入?yún)?shù)個(gè)數(shù)淺析,需要的朋友可以參考下
    2024-03-03
  • 一文掌握Linux命令lsscsi

    一文掌握Linux命令lsscsi

    想要弄明白lsscsi命令,首先我們必須搞清楚什么是SCSI,以及常見的硬盤接口,常用的硬盤參數(shù),今天通過本文給大家介紹下Linux命令lsscsi,需要的朋友可以參考下
    2022-09-09
  • bash shell 重定向輸入和輸出的例子

    bash shell 重定向輸入和輸出的例子

    這篇文章主要介紹了bash shell 重定向輸入和輸出的相關(guān)資料,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 并發(fā)數(shù)據(jù)庫壓力測試的shell腳本代碼

    并發(fā)數(shù)據(jù)庫壓力測試的shell腳本代碼

    并發(fā)數(shù)據(jù)庫壓力測試的shell腳本,有需要的朋友可以參考下
    2013-02-02
  • Linux Shell腳本系列教程(六):數(shù)組和關(guān)聯(lián)數(shù)組

    Linux Shell腳本系列教程(六):數(shù)組和關(guān)聯(lián)數(shù)組

    這篇文章主要介紹了Linux Shell腳本系列教程(六):數(shù)組和關(guān)聯(lián)數(shù)組,本文講解了什么是數(shù)組和關(guān)聯(lián)數(shù)組、定義打印普通數(shù)組、定義打印關(guān)聯(lián)數(shù)組等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • shell腳本通過expect實(shí)現(xiàn)自動(dòng)單邊無密登錄功能

    shell腳本通過expect實(shí)現(xiàn)自動(dòng)單邊無密登錄功能

    最近做項(xiàng)目需要實(shí)現(xiàn)單邊無密登錄功能,接下來小編給大家分享shell腳本通過expect實(shí)現(xiàn)自動(dòng)單邊無密登錄功能,一起看看吧
    2017-01-01

最新評(píng)論

达拉特旗| 利辛县| 许昌县| 宁晋县| 蓬莱市| 承德市| 鄂托克前旗| 南乐县| 松阳县| 海淀区| 临朐县| 府谷县| 普兰县| 定远县| 拉萨市| 历史| 开江县| 泰宁县| 伽师县| 石台县| 尤溪县| 马关县| 皮山县| 延长县| 五台县| 灵璧县| 同江市| 富裕县| 灵宝市| 报价| 安国市| 自贡市| 嘉禾县| 怀宁县| 明水县| 宁陕县| 辽源市| 同仁县| 常熟市| 九龙县| 万荣县|