Linux實(shí)驗(yàn)報(bào)告shell腳本編程_第1頁(yè)
Linux實(shí)驗(yàn)報(bào)告shell腳本編程_第2頁(yè)
Linux實(shí)驗(yàn)報(bào)告shell腳本編程_第3頁(yè)
Linux實(shí)驗(yàn)報(bào)告shell腳本編程_第4頁(yè)
Linux實(shí)驗(yàn)報(bào)告shell腳本編程_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、南京信息工程大學(xué)實(shí)驗(yàn)(實(shí)習(xí))報(bào)告實(shí)驗(yàn)(實(shí)習(xí))名稱一shell腳本編程實(shí)驗(yàn)(實(shí)習(xí))日期得分指導(dǎo)教師系_專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)年級(jí)班次姓名學(xué)號(hào)一【實(shí)驗(yàn)?zāi)康摹?、了解和熟悉創(chuàng)建并使用腳本的步驟。2、熟悉bash的控制結(jié)構(gòu)。3、學(xué)會(huì)簡(jiǎn)單的shell編程。二【實(shí)驗(yàn)內(nèi)容】1、創(chuàng)建一個(gè)簡(jiǎn)單的列目錄和日期的shell腳本并運(yùn)行之。步驟:輸入下列命令,創(chuàng)建一個(gè)新文件:catnew_script輸入下列行:echo“Yourfilesare”lsecho“todayis”date按回車鍵將光標(biāo)移到一個(gè)新行,按Ctrl+D鍵保存并退出。檢查文件內(nèi)容,確保它是正確的:#catnew_scriptrroot1ocalli

2、otroct#catiptechoYcuiFilesareIsechotedayi?daatcrootocallntroct#catiptechoYduyfilesareIsechotedayi?daatc運(yùn)行腳本,輸入它的文件名:#new_scriptfroctocalhostrcol1tfne_scriptbash:nescript:coimBndlnotfound該腳本不運(yùn)行。輸入下列命令,顯示文件的權(quán)限:#ls-lnew_scriptrootocalhostroct1SIs-Inci_script-r*rr-1roolroot451Q1112:1nftript權(quán)限表明該文件不是可執(zhí)行。

3、要通過(guò)簡(jiǎn)單調(diào)用文件名來(lái)運(yùn)行腳本,必須有權(quán)限。輸入下列命令,使new_script變成可執(zhí)行文件。chmod+xnew_script要查看新的權(quán)限,輸入:Is-lroot勾ocalhostrocl1#chrrodl+xDot冋ocalhostrocit1flIs-1息願(yuàn)3G-t址r一-trootrootdrw3rootroot-t址r一-trootrooti址-Ii11ool1ool-rwr-xr-xrootroot現(xiàn)在擁有文件的讀、寫和執(zhí)行權(quán)限。輸入新腳本的名字以執(zhí)行它:jieK_scrlpt12592009-10-11aiiacoiida-ks.cfg409610)1111h53Etikto

4、p171252009-10-11instal1.log32362009-10-11instal1.1ogL1og4510J1112118n?w_scriptnew_script所有輸入到文件的命令都執(zhí)行,并輸出到屏幕上。如果接收到錯(cuò)誤信息,比如:commandnotfound輸入下列命令:#./new_scriptIrootocallH)trcolJff.iJiescrlpt./nescript:Iine1:echoYbuifilesare:conTiandnotfoundajiaDJida-ksLefgEtiktopinstall.loginstaII.IogLsyItigJiescript

5、./nescript:Iine3:echolcdayis:connmiidnotfound./ipt:Iine4idaate:comnniidnotfound日10月1112:37:00CST2009該命令行通知shell到哪里尋找shell腳本new_script,即您的當(dāng)前目錄“.”。2、用Shell語(yǔ)言編制一Shell程序,該程序在用戶輸入年、月之后,自動(dòng)打印數(shù)出該年該月的日歷。參考程序echo“Pleaseinputthemonth:”readmonthecho“Pleaseinputtheyear:”readyearcal$month$yearrootoralhostIDDl1fle

6、choPleaseinputttieirojith:卩Ieaseiiiputttierrojith:rootoralhostIDDl1flreadiiunth12rootoralhostIDDl1flechoPleaseiiiputttieyear:卩I吐inputtheyear;rootoralhostIDDl1flreadyear2010rootocalhostrout1#caI$month$year|-t2010口-一一叫五六TOC o 1-5 h z12345fi7g91011121314151617IS192021222324252627282930313、編程提示用戶輸入兩個(gè)單詞,

7、并將其讀入,然后比較這兩個(gè)單詞,如果兩個(gè)單詞相同則顯示“Match”,并顯示“Endofprogram”,如果不同則顯示“Endofprogram”。if1echo-n“word1:”readword1echo-n“word2:”readword2iftest“$word1”=“$word2”thenecho“Match”fiecho“Endofprogram.”程序說(shuō)明ifthen控制結(jié)構(gòu)的語(yǔ)法是:iftest_commandthencommandsfi其中test_command為test“$wordT=“$word2”,test是一個(gè)內(nèi)置命令,如果它的第一個(gè)參數(shù)和第三個(gè)參數(shù)存在第二個(gè)參數(shù)

8、所指定的關(guān)系,那么test將返回ture。Shell將執(zhí)行then和fi之間的命令。否則執(zhí)行fi后面語(yǔ)句。4、修改上述程序,編程提示用戶輸入兩個(gè)單詞,并將其讀入,然后比較這兩個(gè)單詞,如果兩個(gè)單詞相同顯示“Match”,不同則顯示“Notmatch”,最后顯示“Endofprogram”。編程提示請(qǐng)使用ifthenelse控制結(jié)構(gòu)。rrootoca!11051root#catif3EctiD-wvcrdl:readvordlEctiD-nd2:*readwrd2iftest$vcrd1=*LtiejiEchoMtth*elschbtMlchechoEndofprogram*5、編程使用case結(jié)

9、構(gòu)創(chuàng)建一個(gè)簡(jiǎn)單的菜單,屏幕顯示菜單:CurrentdateandtimeUsercurrentlyloggedinNameoftheworkingdirectoryContentsoftheworkingdirectoryEntera,b,cord:根據(jù)用戶輸入選項(xiàng)做相應(yīng)操作。參考程序echo-e“nCOMMANDMENUn”echo“a.Currentdateandtime”echo“b.Usercurrentlyloggedin”echo“c.Nameoftheworkingdirectory”echo“d.Contentsoftheworkingdirectoryn”echo-n“Ent

10、era,b,cord:”readanswerechocase“$answer”indate;who;pwd;ls;*)Echo“Thereisnoselection:$answer”;esac6、修改上題,使用戶可以連續(xù)選擇直到想退出時(shí)才退出。WhiletDoclearecho-e“nCOMMANDMENUn”echo“a.Currentdateandtime”echo“b.Usercurrentlyloggedin”echo“c.Nameoftheworkingdirectory”echo“d.Contentsoftheworkingdirectoryn”echo-n“Entera,b,co

11、rd:”readanswerechocase“$answer”indate;who;pwd;ls;return;*)Echo“Thereisnoselection:$answer”;esacdone7、編程使用select結(jié)構(gòu)生成一個(gè)菜單如下:apple3)blueberry5)orange7)STOPbanana4)kiwi6)watermelonChooseyourfavoritefruitfromthesepossibilities:用戶輸入所選項(xiàng),如1顯示:Youchoseappleasyoufavorite.Thatischoicenumber1.參考程序#!/bin/bashPS3

12、=“Choseyourfavoritefruitfromthesepossibilities:”selectFRUITinapplebananablueberrykiwiorangewatermelonSTOPdoif$FRUIT=STOPthenecho“Thanksforplaying!”breakfiecho“Youchose$FRUITasyoufavorite.”echo“Thatischoicenumber$REPLY.”echodoneselect結(jié)構(gòu)的語(yǔ)法如下:selectvarnameinargdocommandsdoneREPLY是鍵盤變量。8、上機(jī)編寫如下代碼,分析下面的

13、程序,簡(jiǎn)要說(shuō)明整體功能,并解釋每條語(yǔ)句。#!/bin/shval=1while(test$val-lt6)dotouchfile$valdatefile$valval=expr$val+1done9、編寫一段shell程序,根據(jù)執(zhí)行時(shí)候獲取的當(dāng)前時(shí)間顯示出不同的問(wèn)候信息。#!/bin/basha=date+%Hif(test$a-lt12);thenechoGoodMorning!elseechoGoodAfternoon!fi10、用Shell編程,判斷一文件是不是字符設(shè)備文件,如果是將其拷貝到/dev目錄下myfile=/path/filename#換成你實(shí)際的文件全路徑fd=ls-lmyfile#獲取文件詳細(xì)信息fp=$fd:0:1#截取第一個(gè)屬性值$fp=c&cpmyfile/

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論