




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
shell編程-分支語句主講:小美老師課程目錄條件語句多路分支語句4結(jié)構(gòu)性語句結(jié)構(gòu)性語句主要根據(jù)程序的運行狀態(tài)、輸入數(shù)據(jù)、變量的取值、控制信號以及運行時間等因素來控制程序的運行流程。主要包括:條件測試語句(兩路分支)、多路分支語句、循環(huán)語句、循環(huán)控制語句和后臺執(zhí)行語句等。5條件語句if…then…fi語法結(jié)構(gòu):if表達(dá)式 then命令表fi
如果表達(dá)式為真,則執(zhí)行命令表中的命令;否則退出if語句,即執(zhí)行fi后面的語句。if和fi是條件語句的語句括號,必須成對使用;命令表中的命令可以是一條,也可以是若干條。6復(fù)習(xí)-文件測試-dname
測試name是否為一個目錄-ename
測試一個文件是否存在-fname
測試name是否為普通文件-Lname測試name是否為符號鏈接-rname
測試name文件是否存在且為可讀-wname
測試name文件是否存在且為可寫-xname
測試name文件是否存在且為可執(zhí)行-sname
測試name文件是否存在且其長度不為0f1-ntf2
測試文件f1是否比文件f2更新f1-otf2
測試文件f1是否比文件f2更舊7實例shell程序prog2.sh(測試命令行參數(shù)是否為已存在的文件或目錄)。用法為:./prog2.shfile代碼如下:#Thestatementofif…then…fi(注釋語句)if[-f$1](測試參數(shù)是否為文件)then echo"File$1exists"(引用變量值)fiif[-d$HOME/$1](測試參數(shù)是否為目錄)then echo"File$1isadirectory"(引用變量值)fi8實例執(zhí)行prog2程序:$./prog2.shprog1.shFileprog1.shexists
$0為prog2.sh;$1為prog1.sh,是一個已存在的文件.$./prog2.shbackupFilebackupisadirectory
$0為prog2.sh;$1為backup,是一個已存在的目錄.如果不帶參數(shù),或大于一個參數(shù)運行prog2,例如:$./prog2.sh(或$./prog2.shfile1file2)會出現(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命令測試的條件成立時,命令返回值為真(0),否則返回值為假(非0).test$name-eq$1echo$?方式1iftest-f$filenamethen……fi方式2if[-f$filename]then……fi方式3用方括號替代test語句至少一個空格至少一個空格11實例例子: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實例運行prog3.sh程序:$./prog3.shbackupbackupisadirectory$./prog3.shprog1prog1isacommonfile$./prog3.shabcunknownprog3.sh是對prog2.sh的優(yōu)化,邏輯結(jié)構(gòu)更加清晰合理!13多路分支語句case…esac
多路分支語句case用于多重條件測試,語法結(jié)構(gòu)清晰自然.其語法為:
case字符串變量in模式1)命令表1;;模式2|模式3)命令表2;;……模式n)命令表n;;esaccase語句只能檢測字符串變量各模式中可用文件名元字符,以右括號結(jié)束命令表以單獨的雙分號行結(jié)束,退出case語句模式n常寫為字符*表示所有其它模式最后一個雙分號行可以省略一次可以匹配多個模式用“|”分開14實例實例.程序prog4.sh檢查用戶輸入的文件名,用法為:./prog4.shstring_name#Thestatementofcase…esacif[$#-eq0]then echo"Noargumentisdeclared" exitficase$1in file1)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 活動房轉(zhuǎn)讓合同協(xié)議書
- 房地產(chǎn)包銷合同協(xié)議書
- 退出轉(zhuǎn)讓協(xié)議書
- 礦難賠償協(xié)議書
- 工地臨時房安全協(xié)議書
- 租賃違約協(xié)議書
- 資產(chǎn)補充協(xié)議書
- 屠宰場轉(zhuǎn)讓合同協(xié)議書
- 無動力設(shè)施訂購協(xié)議書
- 商戶和顧客和解協(xié)議書
- 2025年重慶市環(huán)衛(wèi)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 植物的逆境生理-課件
- TSG 07-2019電梯安裝修理維護(hù)質(zhì)量保證手冊程序文件制度文件表單一整套
- 高等院校國際交流管理制度
- 《兔子坡》小學(xué)生閱讀分享課課件
- 2024-2025學(xué)年人教版初中物理九年級全一冊《電與磁》單元測試卷(原卷版)
- 十八項醫(yī)療核心制度考試題與答案
- 組合煙花檢驗原始記錄表
- 【MOOC】模擬電子電路-杭州電子科技大學(xué) 中國大學(xué)慕課MOOC答案
- 2023年廣東省深圳市南山區(qū)第二外國語學(xué)校(集團(tuán))學(xué)府中學(xué)中考?xì)v史二模試卷
- 2018年浙江嘉興舟山中考滿分作文《讓矛盾的心不再矛盾》
評論
0/150
提交評論