Linux系統(tǒng)管理與網絡管理(第2版):第13章 Shell編程_第1頁
Linux系統(tǒng)管理與網絡管理(第2版):第13章 Shell編程_第2頁
Linux系統(tǒng)管理與網絡管理(第2版):第13章 Shell編程_第3頁
Linux系統(tǒng)管理與網絡管理(第2版):第13章 Shell編程_第4頁
Linux系統(tǒng)管理與網絡管理(第2版):第13章 Shell編程_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第13章Shell編程一個Shell腳本可以包含一個或多個命令,通過編寫Shell腳本可以簡化很多原本需要手工輸入大量命令的任務。在本章中將對Shell腳本的基本原理、條件測試、控制結構、用戶交互以及保留變量等的內容進行介紹。13.1Shell編程簡介Shell除了是命令解釋器外還是一種腳本編程語言,通過編寫該腳本可以自動運行多條命令,簡化手工操作。要運行一個Shell腳本文件,必須要為它添加執(zhí)行權限。本節(jié)將對Shell腳本的功能、使用、結構等內容進行簡單介紹,最后會編寫一個簡單的HelloWorld腳本演示編寫并執(zhí)行該腳本的步驟。13.1.1什么是Shell腳本Shell腳本概述13.1.2編寫Shell腳本編寫Shell腳本的方法13.2條件測試在編寫Shell腳本時,有時要先測試字符串是否一致、數字是否相等或者檢查文件狀態(tài),然后基于這些測試的結果再做進一步動作,這就是條件測試。Shell腳本的條件測試可以用于測試字符串、文件狀態(tài)和數字,同時它也可以結合13.3節(jié)中所介紹的控制結構進行使用。測試完成后可以通過$?獲取測試的結果,其中0表示正確,1表示錯誤。13.2.1數值測試關系運算符說

明關系運算符說

明-eq兩個數值相等-lt第一個數小于第二個數-ne兩個數值不相等-ge第一個數大于等于第二個數-gt第一個數大于第二個數-le第一個數小于等于第二個數13.2.2字符串測試關系運算符說

明關系運算符說

明=兩個字符串相等-z字符串為空!=兩個字符串不相等-n字符串不為空13.2.3文件狀態(tài)測試關系運算符說

明關系運算符說

明-d目錄-w可寫-f一般文件-x可執(zhí)行-L鏈接文件-u設置了suid-r可讀-s文件長度大于0、非空13.2.4條件測試的邏輯操作符1.-a:邏輯與,只有當操作符兩邊的條件均為真時,結果為真;否則為假。2.-o:邏輯或,操作符兩邊的條件只要有一個為真,則結果為真;只有當兩邊所有條件為假時,結果為假。3.!:邏輯否,條件為假,結果為真。13.3控制結構通過Shell提供的各種控制結構,可以在Shell腳本中根據條件的測試結果控制腳本程序的執(zhí)行流程。在Shell腳本中支持的控制結構有:if-then-else、case、for、while和until,本節(jié)將對這些控制結構逐一進行介紹。13.3.1if-then-else分支結構編寫if-then-else分支結構的腳本13.3.2case分支結構編寫case分支結構的腳本13.3.3for循環(huán)結構1.以常量作為值列表2.以變量作為值列表3.以命令運行結果作為值列表13.3.4expr命令計數器expr命令13.3.5while循環(huán)結構1.循環(huán)增量計算2.循環(huán)從文件中讀取內容13.3.6until循環(huán)結構編寫until循環(huán)結構的腳本13.4腳本參數與交互在執(zhí)行一個腳本程序時,經常需要向腳本傳遞一些參數,并根據輸入的參數值生成相應的數據或執(zhí)行特定的邏輯。本節(jié)將介紹如何在腳本文件中引用腳本參數,如何實現與用戶的數據交互以及Shell腳本的特殊變量。13.4.1向腳本傳遞參數設置位置變量13.4.2用戶交互read命令的使用13.4.3特殊變量變量

名說

明$#傳遞給腳本的參數個數$*傳遞給腳本的所有參數的值$@與$*相同$$腳本執(zhí)行所對應的進程號$!后臺運行的最后一個進程的進程號$-顯示Shell使用的當前選項$?顯示命令的退出狀態(tài),0為正確,1為錯誤13.5Shell編程中的常見問題本節(jié)介紹Linux下Shell編程中的常見問題及它們的解決方法,并且會結合實例進行說明,包括如何在Shell中屏蔽命令的輸出結果,如何把一條命令分成多行編寫,以使Shell代

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論