




已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章shell編程 4 1shell編程簡(jiǎn)介4 2shell分類4 3shell基本語(yǔ)法4 4shell程序的變量和參數(shù)4 5shell的測(cè)試表達(dá)式4 6shell的控制結(jié)構(gòu)4 7awk4 8sed4 9shell程序?qū)嵗?本章提要 shell編程 shell基本語(yǔ)法及測(cè)試條件 shell控制流程 awk過(guò)濾器 sed流編輯器 shell編程實(shí)例 本章介紹shell編程的基本方法和實(shí)例 為了方便用戶編程本章列出了shell編程的基本語(yǔ)法 控制結(jié)構(gòu) sed awk 測(cè)試表達(dá)式和編程實(shí)例 4 1shell編程簡(jiǎn)介 shell是用戶和linux內(nèi)核之間的接口程序 在提示符下輸入的每個(gè)命令都由shell先解釋后再傳給linux內(nèi)核 4 2shell分類4 3shell基本語(yǔ)法 shell的基本語(yǔ)法主要包括 如何輸入命令運(yùn)行程序 如何在程序之間傳遞參數(shù) 4 3 1輸入輸出重定向4 3 2管道 pipe 4 3 3前臺(tái)和后臺(tái)4 3 4shell通配符在絕大多數(shù)linuxshell中 可使用通配符來(lái)表示多個(gè)文件 1 通配符 可用來(lái)代表文件中的任意長(zhǎng)度的字符 例3 顯示所有以c開(kāi)頭的文件名 命令如下 lsc 2 通配符 可用來(lái)代表文件中的任一字符例4 顯示所有以ch開(kāi)頭的文件名長(zhǎng)為3個(gè)字符且擴(kuò)展名為 txt的文件名 命令如下 lsch txt 3 通配符 可用來(lái)代表文件中的任一屬于字符組中的字符例5 顯示所有以ch開(kāi)頭 第三個(gè)字符為0 9的阿拉伯?dāng)?shù)字 文件名長(zhǎng)為4個(gè)字符且擴(kuò)展名為 txt的文件名 命令如下 lsch 0 9 txt4 3 5花括弧展開(kāi)式 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)識(shí)第一個(gè)位置參數(shù) 2 標(biāo)識(shí)第二個(gè)位置參數(shù) 3 標(biāo)識(shí)第三個(gè)位置參數(shù) n 標(biāo)識(shí)第n個(gè)位置參數(shù) 0 是一個(gè)特殊的變量 4 4 4預(yù)定義變量 位置參數(shù)的數(shù)量 所有位置參數(shù)的內(nèi)容 命令執(zhí)行后返回的狀態(tài) 當(dāng)前進(jìn)程的進(jìn)程號(hào) 后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程號(hào) 0 當(dāng)前執(zhí)行的進(jìn)程名 4 4 5參數(shù)置換的變量4 4 6單雙引號(hào)及后引號(hào)4 4 7變量賦值法 1 使用read命令從標(biāo)準(zhǔn)輸入中讀入變量read命令獲得下一行的輸入 并把它賦給變量 見(jiàn)下例 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 賦值語(yǔ)句中使用的是后引號(hào) 其作用是命令執(zhí)行結(jié)果引用 即將pwd命令的執(zhí)行結(jié)果賦值給cwd變量 4 5shell的測(cè)試表達(dá)式 1 文件測(cè)試2 數(shù)值測(cè)試3 字符串測(cè)試 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是模式掃描和處理語(yǔ)言 又稱過(guò)濾器 awk之所以廣泛應(yīng)用是因它吸收了c語(yǔ)言的許多優(yōu)點(diǎn) 下面通過(guò)一個(gè)例子來(lái)看一下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的語(yǔ)法4 7 3awk的記錄 字段與內(nèi)置變量awk與數(shù)據(jù)庫(kù)的工作方式有相同之處 其一就是awk支持對(duì)記錄和字段的處理 而對(duì)字段的處理是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 流程控制語(yǔ)句4 7 7awk的常規(guī)表達(dá)式在表4 1至表4 4中列出awk的元字符表達(dá)式 算數(shù)運(yùn)算符 測(cè)試表達(dá)式和操作符 4 8sed sed是linux平臺(tái) 或unix 的流編輯器 sed相當(dāng)小巧 它可以利用管道對(duì)標(biāo)準(zhǔn)輸入 標(biāo)準(zhǔn)輸入的數(shù)據(jù)進(jìn)行編輯和組合 4 8 1sed基本語(yǔ)法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 高級(jí)替換 4 9shell程序?qū)嵗?4 9 1shell菜單程序1 程序功能描述編寫(xiě)一個(gè)shell程序 使用shell編寫(xiě)一個(gè)菜單 分別實(shí)現(xiàn)列出以下內(nèi)容 1 目錄內(nèi)容 2 切換目錄 3 創(chuàng)建文件 4 編輯文件 5 刪除文件的功能 在此例中將用到循環(huán)語(yǔ)句until 分支語(yǔ)句case 輸入輸出語(yǔ)句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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 各行業(yè)收入占比情況表
- 2024年軟泡聚醚項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2025年上半年宜賓江安縣招考高層次和緊缺專業(yè)高校畢業(yè)生易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽馬鞍山市博望區(qū)政府部門招聘派遣制人員12人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽阜陽(yáng)阜南縣公橋鄉(xiāng)招考村級(jí)后備干部10人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽蚌埠機(jī)電技師學(xué)院招考兼職教師易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽省宿州市直事業(yè)單位考試筆試易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024年片式半導(dǎo)體器件項(xiàng)目資金籌措計(jì)劃書(shū)
- 2025年上半年寧波溫嶺市地方稅務(wù)局派遣人員招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025四川旻清環(huán)??萍加邢薰炯闭?人筆試參考題庫(kù)附帶答案詳解
- 2025年電力人工智能多模態(tài)大模型創(chuàng)新技術(shù)及應(yīng)用報(bào)告-西安交通大學(xué)
- 學(xué)習(xí)雷鋒主題班會(huì)雷鋒日學(xué)習(xí)雷鋒精神-
- 事故隱患內(nèi)部舉報(bào)獎(jiǎng)勵(lì)制度
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考?xì)v史試卷(5年真題+答案解析)
- 家畜傳染病與寄生蟲(chóng)病
- 部編人教版五年級(jí)下冊(cè)小學(xué)語(yǔ)文第二單元全套教學(xué)課件 (含口語(yǔ)、習(xí)作及園地課件)
- 第5章 海洋資源開(kāi)發(fā)與管理
- 工業(yè)氣體企業(yè)公司組織架構(gòu)圖職能部門及工作職責(zé)
- 全員安全風(fēng)險(xiǎn)辨識(shí)評(píng)估活動(dòng)實(shí)施方案(8頁(yè))
- 小升初個(gè)人簡(jiǎn)歷表
- 電工每日巡查簽到表
評(píng)論
0/150
提交評(píng)論