版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
shell編程-分支語句主講:小美老師課程目錄條件語句多路分支語句4結(jié)構(gòu)性語句結(jié)構(gòu)性語句主要根據(jù)程序的運(yùn)行狀態(tài)、輸入數(shù)據(jù)、變量的取值、控制信號(hào)以及運(yùn)行時(shí)間等因素來控制程序的運(yùn)行流程。主要包括:條件測(cè)試語句(兩路分支)、多路分支語句、循環(huán)語句、循環(huán)控制語句和后臺(tái)執(zhí)行語句等。5條件語句if…then…fi語法結(jié)構(gòu):if表達(dá)式 then命令表fi
如果表達(dá)式為真,則執(zhí)行命令表中的命令;否則退出if語句,即執(zhí)行fi后面的語句。if和fi是條件語句的語句括號(hào),必須成對(duì)使用;命令表中的命令可以是一條,也可以是若干條。6復(fù)習(xí)-文件測(cè)試-dname
測(cè)試name是否為一個(gè)目錄-ename
測(cè)試一個(gè)文件是否存在-fname
測(cè)試name是否為普通文件-Lname測(cè)試name是否為符號(hào)鏈接-rname
測(cè)試name文件是否存在且為可讀-wname
測(cè)試name文件是否存在且為可寫-xname
測(cè)試name文件是否存在且為可執(zhí)行-sname
測(cè)試name文件是否存在且其長度不為0f1-ntf2
測(cè)試文件f1是否比文件f2更新f1-otf2
測(cè)試文件f1是否比文件f2更舊7實(shí)例shell程序prog2.sh(測(cè)試命令行參數(shù)是否為已存在的文件或目錄)。用法為:./prog2.shfile代碼如下:#Thestatementofif…then…fi(注釋語句)if[-f$1](測(cè)試參數(shù)是否為文件)then echo"File$1exists"(引用變量值)fiif[-d$HOME/$1](測(cè)試參數(shù)是否為目錄)then echo"File$1isadirectory"(引用變量值)fi8實(shí)例執(zhí)行prog2程序:$./prog2.shprog1.shFileprog1.shexists
$0為prog2.sh;$1為prog1.sh,是一個(gè)已存在的文件.$./prog2.shbackupFilebackupisadirectory
$0為prog2.sh;$1為backup,是一個(gè)已存在的目錄.如果不帶參數(shù),或大于一個(gè)參數(shù)運(yùn)行prog2,例如:$./prog2.sh(或$./prog2.shfile1file2)會(huì)出現(xiàn)什么結(jié)果?9條件語句
if…then…else…fi語法結(jié)構(gòu)為:if表達(dá)式then命令表1else命令表2fi如果表達(dá)式為真,則執(zhí)行命令表1中的命令,再退出if語句;否則執(zhí)行命令表2中的語句,再退出if語句.注意:無論表達(dá)式是否為真,都有語句要執(zhí)行.10test命令的使用test命令測(cè)試的條件成立時(shí),命令返回值為真(0),否則返回值為假(非0).test$name-eq$1echo$?方式1iftest-f$filenamethen……fi方式2if[-f$filename]then……fi方式3用方括號(hào)替代test語句至少一個(gè)空格至少一個(gè)空格11實(shí)例例子:shell程序prog3.sh,用法為:./prog3.shfile內(nèi)容如下:#Thestatementofif…then…else…fiif[-d$1]then echo"$1isadirectory" exit(退出當(dāng)前的shell程序)else if[-f$1] then echo"$1isacommonfile" else echo"unknown" fifi12實(shí)例運(yùn)行prog3.sh程序:$./prog3.shbackupbackupisadirectory$./prog3.shprog1prog1isacommonfile$./prog3.shabcunknownprog3.sh是對(duì)prog2.sh的優(yōu)化,邏輯結(jié)構(gòu)更加清晰合理!13多路分支語句case…esac
多路分支語句case用于多重條件測(cè)試,語法結(jié)構(gòu)清晰自然.其語法為:
case字符串變量in模式1)命令表1;;模式2|模式3)命令表2;;……模式n)命令表n;;esaccase語句只能檢測(cè)字符串變量各模式中可用文件名元字符,以右括號(hào)結(jié)束命令表以單獨(dú)的雙分號(hào)行結(jié)束,退出case語句模式n常寫為字符*表示所有其它模式最后一個(gè)雙分號(hào)行可以省略一次可以匹配多個(gè)模式用“|”分開14實(shí)例實(shí)例.程序prog4.sh檢查用戶輸入的文件名,用法為:./prog4.shstring_name#Thestatementofcase…esacif[$#-eq0]then echo"Noargumentisdeclared" exitficase$1in file1)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版建筑節(jié)能工程設(shè)計(jì)與施工檢測(cè)合同范本3篇
- 2024年度正規(guī)軍婚離婚協(xié)議書范本及軍人家庭糾紛解決途徑3篇
- 2025年度購車保險(xiǎn)理賠服務(wù)合同3篇
- 2024年綜合性物資采購協(xié)議及訂單細(xì)則版B版
- 2025版文化創(chuàng)意產(chǎn)業(yè)英文借款合同3篇
- 2025版集裝箱二手市場(chǎng)交易合同范本3篇
- 2024年獨(dú)家版:就智能可穿戴設(shè)備開發(fā)與生產(chǎn)、銷售的全流程合作協(xié)議
- 2025年度五星級(jí)酒店客房設(shè)施更新改造合同3篇
- 2025年度鐵路專用欄桿制造及安裝合同3篇
- 課題申報(bào)書:城市化進(jìn)程中傳統(tǒng)美術(shù)類非遺傳承人角色轉(zhuǎn)型研究
- 先兆流產(chǎn)課件-課件
- 過敏反應(yīng)的分類和護(hù)理
- DBJ43 003-2017 湖南省公共建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)
- 蘇少版(2024)小學(xué)美術(shù)一年級(jí)上冊(cè)教學(xué)設(shè)計(jì)(附教材目錄)
- 【課件】講文明懂禮儀守規(guī)矩 課件-2024-2025學(xué)年文明禮儀教育主題班會(huì)
- 計(jì)算流體力學(xué)CFD
- 汽車保險(xiǎn)與理賠課件 7.4新能源汽車保險(xiǎn)理賠典型事故案例
- 流行性腦脊髓膜炎診療方案(2023版)
- TCNLIC 0110-2023 卡牌玩具規(guī)范
- 靈活用工模式下的薪酬管理
- 天津市紅橋區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期中道德與法治試卷
評(píng)論
0/150
提交評(píng)論