




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 Shell編程入門,7.1 Shell編程過(guò)程,與DOS系統(tǒng)中的批處理文件類似,Linux中的腳本(Shell程序)是一個(gè)文本文件,包含各類Linux的Shell命令。通過(guò)腳本文件將這些命令匯集在一起,可連續(xù)執(zhí)行Shell命令。,7.1.1 創(chuàng)建Shell程序,7.1 Shell編程過(guò)程,7.1.2 設(shè)置執(zhí)行權(quán)限,7.1 Shell編程過(guò)程,1使用Shell程序執(zhí)行 2直接執(zhí)行,7.1.3 執(zhí)行Shell程序,7.2 Shell的語(yǔ)法介紹,1環(huán)境變量 2用戶定義變量 3引用變量 4預(yù)定義變量,7.2.1 使用變量,7.2 Shell的語(yǔ)法介紹,1echo 2read,7.2.2 輸入/
2、輸出內(nèi)部命令,7.2 Shell的語(yǔ)法介紹,7.2.3 條件測(cè)試,1測(cè)試命令執(zhí)行結(jié)果 2測(cè)試文件狀態(tài) 測(cè)試表達(dá)式 ,3測(cè)試數(shù)據(jù)值 4測(cè)試字符串 5邏輯操作符,7.2 Shell的語(yǔ)法介紹,7.2.4 流程控制語(yǔ)句,1if條件語(yǔ)句,if條件測(cè)試命令串 then 條件為真時(shí)執(zhí)行的命令 else 條件為假時(shí)執(zhí)行的命令 fi,7.2 Shell的語(yǔ)法介紹,7.2.4 流程控制語(yǔ)句,2case條件語(yǔ)句,case 條件測(cè)試命令串 in 表達(dá)式1) 分支1執(zhí)行的命令 ; 表達(dá)式2) 分支2執(zhí)行的命令 ; *) 其他命令 esac,7.2 Shell的語(yǔ)法介紹,7.2.4 流程控制語(yǔ)句,3for循環(huán)語(yǔ)句,fo
3、r變量名 in數(shù)值列表 do 循環(huán)執(zhí)行的命令串 done,7.2 Shell的語(yǔ)法介紹,7.2.4 流程控制語(yǔ)句,4while和until循環(huán)語(yǔ)句,while 循環(huán)條件命令串 do 循環(huán)命令串 Done until 循條條件命令串 do 循環(huán)命令串 done,7.2 Shell的語(yǔ)法介紹,函數(shù)名() 命令串 ,7.2.5 函數(shù),7.2 Shell的語(yǔ)法介紹,1位置參數(shù) 當(dāng)調(diào)用Shell程序的命令行時(shí),除了輸入Shell程序名之外,還可以在后面跟上多個(gè)參數(shù),這些參數(shù)與在命令行中的位置有關(guān),因此稱為位置參數(shù)。各位置參數(shù)之間用空格分隔,用$1表示第1個(gè)參數(shù),$2表示第2個(gè)參數(shù),依次類推。而$0是一個(gè)
4、特殊的變量,其內(nèi)容是當(dāng)前Shell程序的文件名。 2函數(shù)參數(shù) 向函數(shù)傳遞參數(shù)與向一般腳本傳遞參數(shù)一樣,應(yīng)使用預(yù)定義變量$1$9來(lái)傳遞。函數(shù)取得所傳參數(shù)后,將原始參數(shù)傳回Shell腳本。,7.2.6 處理參數(shù),7.3 調(diào)試Shell程序,輸入錯(cuò)誤:如輸入錯(cuò)誤關(guān)鍵字、成對(duì)的符號(hào)漏輸入一部分等。 字符大小寫:在Linux中,對(duì)大小寫字符是嚴(yán)格區(qū)分的,輸入時(shí)需要注意。所有關(guān)鍵字都是使用小寫字母來(lái)表示的,建議變量名使用大寫字母組合來(lái)表示。 循環(huán)錯(cuò)誤:由于Shell中的循環(huán)控制語(yǔ)句與一般高級(jí)程序設(shè)計(jì)語(yǔ)言有所不同,輸入結(jié)構(gòu)時(shí)容易出錯(cuò)。,7.3.1 一般錯(cuò)誤,7.3 調(diào)試Shell程序,1-v選項(xiàng) sh命令的
5、“-v”選項(xiàng)使Shell在執(zhí)行程序過(guò)程中,將讀入的每一個(gè)命令行都原樣輸出到終端。 2-x選項(xiàng) sh命令的“-x”選項(xiàng)使Shell在執(zhí)行程序過(guò)程中,把執(zhí)行的每一個(gè)命令在行首用一個(gè)“+”號(hào)加上對(duì)應(yīng)的命令顯示在終端上,并把每一個(gè)變量和該變量的值也顯示出來(lái)。使用該選項(xiàng)更方便跟蹤程序的執(zhí)行過(guò)程。,7.3.2 調(diào)試跟蹤,7.4 Shell程序設(shè)計(jì)實(shí)例,1. 統(tǒng)計(jì)文件,1:#!/bin/sh 2:FNUM=0 3:DNUM=0 4:COUNT=0 5:ls -al 6:for FILENAME in ls -a 7:do 8: if -d $FILENAME 9: then 10: DNUM=expr $DNUM + 1 11: else 12: FNUM=expr $FNUM + 1 13: fi 14: COUNT=expr $COUNT + 1 15:done 16:echo Directory:$DNUM 17:echo File:$FNUM 18:echo Total:$COUNT,7.4 Shell程序設(shè)計(jì)實(shí)例,2. 九九乘法表,1:#!/bin/sh 2:for (ROW=1;ROW10;ROW+) 3:do 4: for (COL=1;COL=$ROW;C
溫馨提示
- 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è)文化
- Photoshop平面設(shè)計(jì)基礎(chǔ) 課件 任務(wù)5.3 制作旅行社T型廣告牌海報(bào)
- 住宅租賃安全責(zé)任與裝修安全協(xié)議
- 地質(zhì)災(zāi)害監(jiān)測(cè)測(cè)量員聘請(qǐng)與預(yù)警協(xié)議
- 車輛安全保險(xiǎn)理賠處理協(xié)議
- 通信材料回購(gòu)方案
- 住宅小區(qū)停車場(chǎng)租賃合同規(guī)范范本及停車管理
- 餐飲企業(yè)股權(quán)轉(zhuǎn)讓及品牌推廣權(quán)合同
- 太倉(cāng)歷史面試題及答案
- 手繪校園面試題及答案
- DB50╱T 337-2009 城市環(huán)境衛(wèi)生公共設(shè)施運(yùn)行維護(hù)技術(shù)規(guī)程
- 四川省資陽(yáng)市2024-2025學(xué)年八年級(jí)下學(xué)期第一次學(xué)月檢測(cè)考試物 理試卷(含答案)
- YS/T 3045-2022埋管滴淋堆浸提金技術(shù)規(guī)范
- 2025年1月國(guó)家開放大學(xué)漢語(yǔ)言文學(xué)本科《古代詩(shī)歌散文專題》期末紙質(zhì)考試試題及答案
- 《兒童靜脈輸液治療臨床實(shí)踐循證指南》2024版解讀概要課件
- 甲狀腺癌護(hù)理疑難病例討論
- 光伏發(fā)電工程可行性研究報(bào)告編制辦法(試行)-GD-003-2025
- 新能源車輛充電樁建設(shè)和運(yùn)營(yíng)合同
- 人教版初中九年級(jí)全冊(cè)英語(yǔ)單詞表(完整版)
- 2024自身免疫性肝炎診斷和治療指南解讀
- 2025年極兔速遞有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論