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

下載本文檔

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

文檔簡介

參考文獻-.z.課程設計報告課程名稱Linu*操作系統課程設計指導教師玲起止日期2014-實驗項目實驗三Shell編程學院信息與通信工程學院專業電子信息工程學生班級/**成績指導老師簽字課程設計概述理解Shell程序的執行環境和執行過程,掌握Shell語言的一般語法規則,能用bash編寫,調試簡單的shell程序。課程設計的目的本實驗的目的是使學生理解Shell程序的執行環境和執行過程,掌握Shell語言的一般語法規則,能用bash編寫簡單的shell程序。課程設計的容編寫一個shell腳本routine,實現日程提醒功能;編寫一個shell腳本makememo,實現備忘錄管理功能;(選作)修改腳本,改進或增加新的功能。設計原理圖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,完成以下功能:顯示初啟信息腳本啟動時首先輸出一些初始信息,包括程序名稱與編者、當前的日期與時間、適當的問候語等,格式自定。例如:*****routinev1.0by2012010948*****GoodEvening!用戶名TodayisTueMar1219:25:30CST2014提醒用戶當日的日程安排查詢備忘錄文件memo,顯示今日的日程安排。圖2日程提醒運行腳本(此部分操作截圖見圖3、4)執行腳本。為routine腳本設置執行權(chmod755routine),運行routine腳本(./routine),調試并檢查運行結果。提示:變換memo文件容,檢查日程提示是否正確。圖3執行腳本自動執行腳本。編輯主目錄下的.bashrc文件,將~/2012010948/e*p3/routine命令行加到文件末尾(注意將your-sid替換為你的**)。重新啟動“終端”,檢查腳本是否能成功地自動執行。圖4自動執行腳本編寫備忘錄管理腳本在e*p3目錄下編寫一個Shell腳本makememo,完成以下功能:顯示初啟信息及菜單顯示程序初啟信息(程序名、編者**等信息),顯示程序的菜單,例如:makememov1.0by2012010948*********MENU*********1.*****2.****3.******4.…接收并處理用戶的輸入根據用戶的輸入的菜單編號,執行相應的功能。運行腳本(此部分操作截圖見圖5)(選做)修改腳本(此部分操作截圖見圖5)添加查找功能(按日期)添加查找功能(按序號)圖5備忘錄管理實驗結論與評價日程提醒此部分操作較為簡單,大部分代碼老師都已經給出來了,遇到困難的地方是沒有辦法準確地顯示出當日的日程,在老師的幫助下發現原因是系統的顯示時間格式必須和編輯的備忘錄時間格式相同。在這個操作中主要掌握了兩個技巧,一是如何根據時間顯示不同的問候語,主要是會用case語句,二是如何匹配日期,用下面的語句。主要是grep的用法。echo$daygrep$day$HOME/2012010948/e*p3/memo||echoNothing.備忘錄管理(含選作)腳本的初始代碼老師已經給出,難度不大,主要是需要看懂,學會靈活運用sed命令處理文本文件。選作部分根據日期查找很容易做,但是根據序號查找遇到了困難,用grep操作的話,會顯示所有含有查找序號的日程,但是用sed-n"${num}p"file就可以輕松實現。程序清單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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論