




已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章shell編程 4 1shell編程簡介4 2shell分類4 3shell基本語法4 4shell程序的變量和參數(shù)4 5shell的測試表達(dá)式4 6shell的控制結(jié)構(gòu)4 7awk4 8sed4 9shell程序?qū)嵗?本章提要 shell編程 shell基本語法及測試條件 shell控制流程 awk過濾器 sed流編輯器 shell編程實(shí)例 本章介紹shell編程的基本方法和實(shí)例 為了方便用戶編程本章列出了shell編程的基本語法 控制結(jié)構(gòu) sed awk 測試表達(dá)式和編程實(shí)例 4 1shell編程簡介 shell是用戶和linux內(nèi)核之間的接口程序 在提示符下輸入的每個(gè)命令都由shell先解釋后再傳給linux內(nèi)核 4 2shell分類4 3shell基本語法 shell的基本語法主要包括 如何輸入命令運(yùn)行程序 如何在程序之間傳遞參數(shù) 4 3 1輸入輸出重定向4 3 2管道 pipe 4 3 3前臺(tái)和后臺(tái)4 3 4shell通配符在絕大多數(shù)linuxshell中 可使用通配符來表示多個(gè)文件 1 通配符 可用來代表文件中的任意長度的字符 例3 顯示所有以c開頭的文件名 命令如下 lsc 2 通配符 可用來代表文件中的任一字符例4 顯示所有以ch開頭的文件名長為3個(gè)字符且擴(kuò)展名為 txt的文件名 命令如下 lsch txt 3 通配符 可用來代表文件中的任一屬于字符組中的字符例5 顯示所有以ch開頭 第三個(gè)字符為0 9的阿拉伯?dāng)?shù)字 文件名長為4個(gè)字符且擴(kuò)展名為 txt的文件名 命令如下 lsch 0 9 txt4 3 5花括弧展開式 4 4shell程序的變量和參數(shù) 4 4 1shell定義的環(huán)境變量常用的shell環(huán)境變量有以下幾個(gè) homepath path path 新路徑名termuidpwdps1 4 4 2用戶定義的變量變量名 變量值4 4 3位置參數(shù) 1 標(biāo)識第一個(gè)位置參數(shù) 2 標(biāo)識第二個(gè)位置參數(shù) 3 標(biāo)識第三個(gè)位置參數(shù) n 標(biāo)識第n個(gè)位置參數(shù) 0 是一個(gè)特殊的變量 4 4 4預(yù)定義變量 位置參數(shù)的數(shù)量 所有位置參數(shù)的內(nèi)容 命令執(zhí)行后返回的狀態(tài) 當(dāng)前進(jìn)程的進(jìn)程號 后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程號 0 當(dāng)前執(zhí)行的進(jìn)程名 4 4 5參數(shù)置換的變量4 4 6單雙引號及后引號4 4 7變量賦值法 1 使用read命令從標(biāo)準(zhǔn)輸入中讀入變量read命令獲得下一行的輸入 并把它賦給變量 見下例 name copycorp purpose copyspecifiedfileto corporate info public salescorpsales corporate info public salesecho enternameoffiletocopy promptuserreadfilename getfilenamecp filename corpsales dothecopy 2 利用替換命令賦值將一個(gè)可執(zhí)行命令的執(zhí)行結(jié)果賦值給一個(gè)變量 例如 如要把當(dāng)前工作目錄的名字存儲(chǔ)到變量cwd中 命令如下 cwd pwd 賦值語句中使用的是后引號 其作用是命令執(zhí)行結(jié)果引用 即將pwd命令的執(zhí)行結(jié)果賦值給cwd變量 4 5shell的測試表達(dá)式 1 文件測試2 數(shù)值測試3 字符串測試 4 6shell的控制結(jié)構(gòu) 1 for結(jié)構(gòu)2 while until結(jié)構(gòu)3 case結(jié)構(gòu)4 if結(jié)構(gòu) 4 7awk awk是模式掃描和處理語言 又稱過濾器 awk之所以廣泛應(yīng)用是因它吸收了c語言的許多優(yōu)點(diǎn) 下面通過一個(gè)例子來看一下awk的神奇功用 awk print etc passwd 4 7 1awk的調(diào)用方式1 awk命令行2 使用 f選項(xiàng)調(diào)用awk程序3 利用命令解釋器調(diào)用awk程序 4 7 2awk的語法4 7 3awk的記錄 字段與內(nèi)置變量awk與數(shù)據(jù)庫的工作方式有相同之處 其一就是awk支持對記錄和字段的處理 而對字段的處理是grep和sed不能實(shí)現(xiàn)的 4 7 4awk的變量awk提供兩種變量 一種是awk內(nèi)置的變量 另一種變量是自定義變量 4 7 5awk的運(yùn)算與判斷awk支持多種運(yùn)算 如 等 同時(shí) awk也支持 之類的功能 4 7 6awk的流程控制1 begin和end2 流程控制語句4 7 7awk的常規(guī)表達(dá)式在表4 1至表4 4中列出awk的元字符表達(dá)式 算數(shù)運(yùn)算符 測試表達(dá)式和操作符 4 8sed sed是linux平臺(tái) 或unix 的流編輯器 sed相當(dāng)小巧 它可以利用管道對標(biāo)準(zhǔn)輸入 標(biāo)準(zhǔn)輸入的數(shù)據(jù)進(jìn)行編輯和組合 4 8 1sed基本語法sed 選項(xiàng) f腳本文件輸入文件n不打印c下一命令是編輯命令f如果正在調(diào)用sed腳本文件 4 8 2sed規(guī)則表達(dá)式sed規(guī)則表達(dá)式匹配的原則 如果在匹配表達(dá)式中出現(xiàn)特殊字符 必須使用 屏蔽其特殊含義 在表4 6中列出使用sed在文件中定位文本表達(dá)式 4 8 3sed規(guī)則表達(dá)式與命令的應(yīng)用1 替換2 更多字符匹配3 高級替換 4 9shell程序?qū)嵗?4 9 1shell菜單程序1 程序功能描述編寫一個(gè)shell程序 使用shell編寫一個(gè)菜單 分別實(shí)現(xiàn)列出以下內(nèi)容 1 目錄內(nèi)容 2 切換目錄 3 創(chuàng)建文件 4 編輯文件 5 刪除文件的功能 在此例中將用到循環(huán)語句until 分支語句case 輸入輸出語句read和echo 2 建立shell程序menu如下 bin shuntilecho 1 listyouselecteddirectory echo 2 changetoyouselecteddirectory echo 3 creatanewfile echo 4 edityouselectedfile echo 5 removeyouselectedfile echo 6 exitmenu readinputtest input 6 docase inputin1 ls 2 echo entertargetdirectory readdircd dir 3 echo enterafilename re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司聚餐自助餐活動(dòng)方案
- 公司桶裝水活動(dòng)方案
- 公司研討活動(dòng)方案
- 公司禮儀禮節(jié)活動(dòng)方案
- 公司活力秀活動(dòng)方案
- 公司組織趣聞活動(dòng)方案
- 公司新年節(jié)目策劃方案
- 公司演唱會(huì)年會(huì)策劃方案
- 公司月會(huì)具體活動(dòng)方案
- 公司新春活動(dòng)策劃方案
- 2025年憲法知識競賽全套題庫及答案(共150題)
- 高空作業(yè)佩戴安全帶培訓(xùn)
- 2025年春人教版英語七年級下冊 Unit 7 A Day to Remember(教學(xué)設(shè)計(jì))
- 小學(xué)信息技術(shù)五年級上冊第3課《流程圖描述算法》教學(xué)設(shè)計(jì)
- 市政工程計(jì)量表格樣表
- 職業(yè)院校教師人工智能素養(yǎng):內(nèi)涵流變、框架構(gòu)建與生成路徑
- 封裝車間預(yù)防錯(cuò)漏混報(bào)告
- 2024年教師招聘考試教育綜合理論知識復(fù)習(xí)題庫及答案(共600題)
- GB/T 12412-2024牦牛絨
- 專項(xiàng)10:現(xiàn)代文閱讀 媒體文閱讀(練習(xí))-【中職專用】2025年對口升學(xué)語文二輪專項(xiàng)突破(解析版)
- 產(chǎn)品檢驗(yàn)知識培訓(xùn)課件
評論
0/150
提交評論