版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、控制腳本流程,引 言,如何測(cè)試表達(dá)式的邏輯值? 如何設(shè)計(jì)分支結(jié)構(gòu)? 如何設(shè)計(jì)循環(huán)結(jié)構(gòu),問題的提出,Geecy軟件開發(fā)公司的開發(fā)人員Tom所開發(fā)的通訊錄管理腳本phone.sh的改進(jìn)版本如下,問題的提出】(續(xù),該版本比舊版本已經(jīng)有了很大的改進(jìn),能夠滿足一般的使用。但是根據(jù)Tom的開發(fā)經(jīng)驗(yàn),該版本至少存在四大缺陷: (1)腳本運(yùn)行的穩(wěn)定性不高,因?yàn)樵撃_本嚴(yán)重依賴于輔助文件count_file.txt,一旦該文件被以外破壞,該腳本將不能正常工作; (2)運(yùn)行性能不高,因?yàn)樵撃_本在運(yùn)行過程中需要頻繁讀寫三個(gè)文件,而從該腳本的功能來看,運(yùn)行過程中需要頻繁讀寫的文件應(yīng)該只有數(shù)據(jù)文件“file.txt”;
2、(3)功能單一,因?yàn)槟壳爸挥性黾庸δ?,還缺乏基本的搜索功能; (4)用戶界面不夠友好,應(yīng)該使用菜單式的用戶界面。 因此Tom需要繼續(xù)改進(jìn)該腳本,問題分析,如果要提高穩(wěn)定性,就要想辦法避免使用輔助文件count_file.txt。 最大值就在數(shù)據(jù)文件file.txt的最后一行的第一個(gè)數(shù)據(jù)域。只需要想辦法在增加一行新數(shù)據(jù)之前把該值讀出來,然后增加一,就可以構(gòu)造出下一個(gè)編號(hào)。 命令tail,能夠從一個(gè)文本文件的最后一行起,連續(xù)抽取若干行數(shù)據(jù)顯示到屏幕,問題分析】(續(xù),如果上述的穩(wěn)定性問題解決了,那么只需要避免使用腳本的遞歸調(diào)用就可以實(shí)現(xiàn)整個(gè)運(yùn)行過程只需要頻繁讀寫一個(gè)文件,即數(shù)據(jù)文件file.txt。
3、 只要找到能夠重復(fù)運(yùn)行某一部分腳本的替代方法,那么腳本的遞歸調(diào)用這種方法就可以“退役”了,問題分析】(續(xù),對(duì)于搜索功能的實(shí)現(xiàn),可以使用grep命令來完成,問題分析】(續(xù),菜單式的用戶界面的實(shí)現(xiàn)原理,就是首先打印若干個(gè)菜單項(xiàng)的內(nèi)容到屏幕上,等待用戶選擇其中一個(gè)功能,腳本程序根據(jù)用戶的鍵盤輸入來判斷用戶的選擇,從而進(jìn)行相應(yīng)功能的操作。然后重復(fù),測(cè)試表達(dá)式,test命令能夠?qū)Ρ磉_(dá)式進(jìn)行測(cè)試并求出True或False的邏輯值。例如: test $Name = Linus test命令的語法要求被測(cè)試的表達(dá)式中的比較運(yùn)算符(例如這里的“=”)的左右兩邊必須有空格,測(cè)試表達(dá)式(續(xù),test命令可以一次測(cè)試
4、多個(gè)表達(dá)式。這些表達(dá)式之間需要使用選項(xiàng)“-a”或“-o”連接。例如: test $Name = Linus -a $Country = China 為了有更好的可讀性,用戶可以使用方括號(hào)“ ”來代替test命令。例如: $Name = Linus,設(shè)計(jì)分支結(jié)構(gòu),分支結(jié)構(gòu)提供給用戶一種流程控制的能力,能夠讓用戶根據(jù)某些條件作出判斷,然后有所選擇地執(zhí)行某些語句。 使用if語句和case語句都可以實(shí)現(xiàn)分支結(jié)構(gòu),設(shè)計(jì)分支結(jié)構(gòu)(續(xù),if語句的基本格式為: if then else fi,設(shè)計(jì)分支結(jié)構(gòu)(續(xù),設(shè)計(jì)分支結(jié)構(gòu)(續(xù),case語句的基本格式為: case in Pattern1) ; Pattern
5、2) ; . . *) ; esac,設(shè)計(jì)分支結(jié)構(gòu)(續(xù),測(cè)試字符串,對(duì)字符串的測(cè)試,除了測(cè)試是否相等,還有其他的一些常用的測(cè)試,測(cè)試算術(shù)式,Shell的變量是字符串類型,如果要把變量的內(nèi)容作為數(shù)值進(jìn)行比較,則需要使用算術(shù)測(cè)試選項(xiàng),測(cè)試文件,測(cè)試文件(續(xù),設(shè)計(jì)循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)提供了重復(fù)執(zhí)行一段腳本的能力。 腳本程序可以使用兩種風(fēng)格的循環(huán)語句來實(shí)現(xiàn)循環(huán)結(jié)構(gòu):while循環(huán)和for循環(huán),設(shè)計(jì)循環(huán)結(jié)構(gòu)(續(xù),使用while語句的格式是: while do done,設(shè)計(jì)循環(huán)結(jié)構(gòu)(續(xù),設(shè)計(jì)循環(huán)結(jié)構(gòu)(續(xù),for語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的一種格式是: for( Expression1; Expression2; E
6、xpression3 ) do done,設(shè)計(jì)循環(huán)結(jié)構(gòu)(續(xù),設(shè)計(jì)循環(huán)結(jié)構(gòu)(續(xù),for語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的另一種格式是: for in do done,設(shè)計(jì)循環(huán)結(jié)構(gòu)(續(xù),解決方案,解決方案】 (續(xù),解決方案】 (續(xù),解決方案】 (續(xù),練 習(xí),1、編寫一個(gè)Shell腳本,從鍵盤讀入5個(gè)整數(shù)。然后顯示最大數(shù)、最小數(shù)以及平均值。 2、編寫一個(gè)Shell腳本,顯示Fibonacci數(shù)列的前20項(xiàng)。例如: 0,1,1,2,3,5,8,13,21,練 習(xí)(續(xù),3、編寫一個(gè)Shell腳本,從鍵盤上接收兩個(gè)文件名,如果兩個(gè)文件都存在則交換兩個(gè)文件的內(nèi)容,否則應(yīng)給出出錯(cuò)信息。 4、編寫一個(gè)shell腳本,產(chǎn)生并輸出
7、如下的序列: 1,2,3,2,3,4,3,4,5,4,5,6 98,99,100,練 習(xí)(續(xù),5、Cell寬帶數(shù)據(jù)公司的客戶服務(wù)中心對(duì)值班員工的工作質(zhì)量進(jìn)行跟蹤評(píng)價(jià),評(píng)價(jià)標(biāo)準(zhǔn)是客戶對(duì)值班員工的“滿意”投票數(shù)量與總投票數(shù)量的比值。如下表所示: Tenny需要編寫一個(gè)shell腳本,讀入“滿意”投票數(shù)量和總投票數(shù)量,然后計(jì)算并輸出相應(yīng)的評(píng)定等級(jí),練 習(xí)(續(xù),6、 Cell寬帶數(shù)據(jù)公司向客戶提供一種菜單式的查詢服務(wù),如下表所示: Tenny需要編寫一個(gè)shell腳本,顯示服務(wù)菜單。當(dāng)客戶選擇某一項(xiàng)服務(wù)后輸出相應(yīng)的服務(wù)內(nèi)容,練 習(xí)(續(xù),7、Cell寬帶數(shù)據(jù)公司需要錄入客戶的資料并保存到文件,每個(gè)客戶的資料保存在單獨(dú)的一行。格式如下: 客戶號(hào):姓名:地址:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度一次性技術(shù)咨詢服務(wù)采購合同12篇
- 2025年度速錄服務(wù)與智能語音助手融合合同3篇
- 2025年度企業(yè)安全生產(chǎn)責(zé)任協(xié)議書范本6篇
- 2025年度高空作業(yè)安全生產(chǎn)責(zé)任與保障協(xié)議3篇
- 2025年豬圈建造與新能源利用合同模板3篇
- 二零二四年專業(yè)債務(wù)清收公司委托合同3篇
- 2025版螺旋鋼管智能制造與自動(dòng)化升級(jí)合同4篇
- 二零二五年度跨境電商園區(qū)場(chǎng)地租賃及物流服務(wù)合同2篇
- 2024租養(yǎng)雞場(chǎng)的合同范本
- 二零二四事業(yè)單位項(xiàng)目合作合同示范文本2篇
- 衡水市出租車駕駛員從業(yè)資格區(qū)域科目考試題庫(全真題庫)
- 護(hù)理安全用氧培訓(xùn)課件
- 《三國(guó)演義》中人物性格探析研究性課題報(bào)告
- 注冊(cè)電氣工程師公共基礎(chǔ)高數(shù)輔導(dǎo)課件
- 土方勞務(wù)分包合同中鐵十一局
- 乳腺導(dǎo)管原位癌
- 冷庫管道應(yīng)急預(yù)案
- 司法考試必背大全(涵蓋所有法律考點(diǎn))
- 公共部分裝修工程 施工組織設(shè)計(jì)
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(共250余題)
- 裝飾裝修施工及擔(dān)保合同
評(píng)論
0/150
提交評(píng)論