Linux課程設(shè)計報告shell編程_第1頁
Linux課程設(shè)計報告shell編程_第2頁
Linux課程設(shè)計報告shell編程_第3頁
Linux課程設(shè)計報告shell編程_第4頁
Linux課程設(shè)計報告shell編程_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

參考文獻-.z.課程設(shè)計報告課程名稱Linu*操作系統(tǒng)課程設(shè)計指導(dǎo)教師玲起止日期2014-實驗項目實驗三Shell編程學(xué)院信息與通信工程學(xué)院專業(yè)電子信息工程學(xué)生班級/**成績指導(dǎo)老師簽字課程設(shè)計概述理解Shell程序的執(zhí)行環(huán)境和執(zhí)行過程,掌握Shell語言的一般語法規(guī)則,能用bash編寫,調(diào)試簡單的shell程序。課程設(shè)計的目的本實驗的目的是使學(xué)生理解Shell程序的執(zhí)行環(huán)境和執(zhí)行過程,掌握Shell語言的一般語法規(guī)則,能用bash編寫簡單的shell程序。課程設(shè)計的容編寫一個shell腳本routine,實現(xiàn)日程提醒功能;編寫一個shell腳本makememo,實現(xiàn)備忘錄管理功能;(選作)修改腳本,改進或增加新的功能。設(shè)計原理圖1Shell工作流程實驗步驟操作編輯備忘錄(vi編輯)在e*p3目錄下,編輯一個備忘錄文件memo,其中的每行為一項日程安排,格式是:mm/dd/yy日程提示以下是一個memo文件的例子:06/03/14mother'sbirthday06/08/14lunchwithjoe06/12/14callzhang06/14/14meeting4pm06/15/14shoppingwithmary編寫日程提醒腳本(此部分操作截圖見圖2)在e*p3目錄下編寫一個Shell腳本routine,完成以下功能:顯示初啟信息腳本啟動時首先輸出一些初始信息,包括程序名稱與編者、當(dāng)前的日期與時間、適當(dāng)?shù)膯柡蛘Z等,格式自定。例如:*****routinev1.0by2012010948*****GoodEvening!用戶名TodayisTueMar1219:25:30CST2014提醒用戶當(dāng)日的日程安排查詢備忘錄文件memo,顯示今日的日程安排。圖2日程提醒運行腳本(此部分操作截圖見圖3、4)執(zhí)行腳本。為routine腳本設(shè)置執(zhí)行權(quán)(chmod755routine),運行routine腳本(./routine),調(diào)試并檢查運行結(jié)果。提示:變換memo文件容,檢查日程提示是否正確。圖3執(zhí)行腳本自動執(zhí)行腳本。編輯主目錄下的.bashrc文件,將~/2012010948/e*p3/routine命令行加到文件末尾(注意將your-sid替換為你的**)。重新啟動“終端”,檢查腳本是否能成功地自動執(zhí)行。圖4自動執(zhí)行腳本編寫備忘錄管理腳本在e*p3目錄下編寫一個Shell腳本makememo,完成以下功能:顯示初啟信息及菜單顯示程序初啟信息(程序名、編者**等信息),顯示程序的菜單,例如:makememov1.0by2012010948*********MENU*********1.*****2.****3.******4.…接收并處理用戶的輸入根據(jù)用戶的輸入的菜單編號,執(zhí)行相應(yīng)的功能。運行腳本(此部分操作截圖見圖5)(選做)修改腳本(此部分操作截圖見圖5)添加查找功能(按日期)添加查找功能(按序號)圖5備忘錄管理實驗結(jié)論與評價日程提醒此部分操作較為簡單,大部分代碼老師都已經(jīng)給出來了,遇到困難的地方是沒有辦法準(zhǔn)確地顯示出當(dāng)日的日程,在老師的幫助下發(fā)現(xiàn)原因是系統(tǒng)的顯示時間格式必須和編輯的備忘錄時間格式相同。在這個操作中主要掌握了兩個技巧,一是如何根據(jù)時間顯示不同的問候語,主要是會用case語句,二是如何匹配日期,用下面的語句。主要是grep的用法。echo$daygrep$day$HOME/2012010948/e*p3/memo||echoNothing.備忘錄管理(含選作)腳本的初始代碼老師已經(jīng)給出,難度不大,主要是需要看懂,學(xué)會靈活運用sed命令處理文本文件。選作部分根據(jù)日期查找很容易做,但是根據(jù)序號查找遇到了困難,用grep操作的話,會顯示所有含有查找序號的日程,但是用sed-n"${num}p"file就可以輕松實現(xiàn)。程序清單Routineecho'*****routinev1.0by2012010948*****'hour='date+%H'case$hourin08|09|10|11|12)echo"GoodMorning!Vanilla";;13|14|15|16|17)echo"GoodAfternoon!Vanilla";;18|19|20|21|22)echo"GoodEvening!Vanilla";;*)echo"Hello!Vanilla";;esacechoTodayis`date`echo-n"memo:"day=`date+%D`echo$daygrep$day$HOME/2012010948/e*p3/memo||echoNothing.Makememo(含選作)*!/bin/bashecho"makememov1.0by2012010948"*顯示版本和作者信息,須替換your-sidMEMOFILE=$HOME/2012010948/e*p3/memo*定義備忘錄文件名add_memo()*向備忘錄中添加一條記錄{echo-n"輸入要添加的日程項:"readitemecho$item>>$MEMOFILEsort-o$MEMOFILE$MEMOFILEecho"日程添加已完成"}del_by_date()*按給定日期刪除一條備忘錄記錄{echo-n"輸入要刪除的日程項(mm/dd/yy):"readitemsed-i"/$item/d"$MEMOFILEecho"日程刪除已完成"}del_by_num()*按給定序號刪除一條備忘錄記錄{set`wc-l$MEMOFILE`echo-n"輸入要刪除的日程項編號(1-$1):"readnumsed-i"${num}d"$MEMOFILEecho"日程刪除已完成"}search_by_date()*按給定日期cha*un一條備忘錄記錄{echo-n"輸入要查找的日程項(mm/dd/yy):"readitemgrep$item$HOME/2012010948/e*p3/memo||echoNothing.}search_by_num()*按給定序號cha*un一條備忘錄記錄{set`wc-l$MEMOFILE`echo-n"輸入要查找的日程項編號(1-$1):"readnumsed-n"${num}p"$HOME/2012010948/e*p3/memo||echoNothing. }print_menu()*顯示菜單{echo"*****************MENU*****************"echo"1.顯示日程2.添加日程"echo"3.刪除日程(按日期)4.刪除日程(按序號)"echo"5.顯示菜單6.退出"echo"7.查找日程(按日期)8.查找日程(按序號)"echo"*****************************************"}print_menuwhiletruedoecho-n"輸入操作選擇(1-8):"readchoicecase$choicein1)cat-n$MEMOFILE;;2)add_memo;;3)del_by_date;;4)del_by_num;;5)print_menu;;7)search_by_date;;8)search_by_num;;6)echoBye!;break;;*)echoI

溫馨提示

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

最新文檔

評論

0/150

提交評論