2023年Shell編程實驗報告_第1頁
2023年Shell編程實驗報告_第2頁
2023年Shell編程實驗報告_第3頁
2023年Shell編程實驗報告_第4頁
2023年Shell編程實驗報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

南京信息工程大學(xué)實驗(實習(xí))報告

【實驗?zāi)康摹?/p>

1、了解和熟悉創(chuàng)建并使用腳本的環(huán)節(jié)。

2、熟悉bash的控制結(jié)構(gòu)。

3、學(xué)會簡樸的shell編程。

【實驗內(nèi)容】

1、創(chuàng)建一個簡樸的列目錄和日期的shell腳本并運(yùn)營之。

環(huán)節(jié):

⑴輸入下列命令,創(chuàng)建一個新文獻(xiàn):

cat>new_script

⑵輸入下列行:

echo"Yourfilesare"

Is

echo"todayis"

date

按回車鍵將光標(biāo)移到一個新行,按ctrI+D鍵保存并退出。

⑶檢查文獻(xiàn)內(nèi)容,保證它是對的的:

catnew_script

⑷運(yùn)營腳本,輸入它的文獻(xiàn)名:

new_script

該腳本不運(yùn)營。

⑸輸入下列命令,顯示文獻(xiàn)的權(quán)限:

Is-Inew_script

權(quán)限表白該文獻(xiàn)不是可執(zhí)行。要通過簡樸調(diào)用文獻(xiàn)名來運(yùn)營腳本,必須有權(quán)限。

⑹輸入下列命令,使new_script變成可執(zhí)行文獻(xiàn)。

chmod+xnew_script

⑺要查看新的權(quán)限,輸入:

Is-1

現(xiàn)在擁有文獻(xiàn)的讀、寫和執(zhí)行權(quán)限。

⑻輸入新腳本的名字以執(zhí)行它:

new_script

所有輸入到文獻(xiàn)的命令都執(zhí)行,并輸出到屏幕上。

⑼假如接受到錯誤信息,比如:

commandnotfound

輸入下列命令:

./new_script

該命令行告知she1I到哪里尋找shell腳本new一script,即您的當(dāng)前目錄

程序運(yùn)營過程如下:

[rooterhiooroot]Hcat>new_script

echo*'Yourfilesare*'

1B

echo"todayis',

date

[root@rhiooroot]#catnew.script

echo*'Yourfilesare"

Is

echo*'todayis',

date

(rootgrhIOOroot]#new_script

bash:new_script:commandnotfound

[root@rhlOOroot]#Is-1new.script

-rwxr-xr-x1rootroot445月1908:28ipt

[root@rhl00root]#chmod+xnew.script

[root@rhl00root]IIIs-1new.script

-rwxr-xr-x1rootroot445月1908:28ipt

(root@rhl00root1Hnew.script

bash:new.script:commandnotfound

(root@rhl00root|(f./new_script

./new_script:echoYourfilesare:commandnotfound

4.11imap-2001a-10.i386.rpmpostfix-1.1.7-2.i386.rpm

anaconda-ks.cfginstall.logrp-pppoe-3.4-7.1386.rpm

circle.cinstall.log.syslogtmpl

circle?exemboxwebmin-0.980-1.noarch*rpm

2、用Shell語言編制一Shel1程序,該程序在用戶輸入年、月之后,自動打

印數(shù)出該年該月的日歷。

程序運(yùn)營過程如下:

[root-@rhl00root]Hcat>tin)es

echo,'Pleaseinputthemonth:"

readmonth

echo"Pleaseinputtheyear:*'

readyear

cal$month$year

[rooterh100root]Hbashtimes

Pleaseinputthemonth:

9

Pleaseinputtheyear:

2012

J1月二2012

0一四五六

2345678

9101112131415

16171819202122

23242526272829

30

[root@rhl00root]H|

3、編程提醒用戶輸入兩個單詞,并將其讀入,然后比較這兩個單詞,假如兩個

單詞相同則顯示"Match”,并顯示"Endofprogramw,假如不同則顯示“En

dofprogram,,。

程序運(yùn)營過程如下:

Iroot@rhl00root]Hcat>if1

echo-n"word1:0

readword1

echo-n"word2:“

readword2

iftestM$wordlw="$word2M

then

echo"'Match0

fi

echoMEndofprogram.M

[root@rhlOOroot]Hbashif1

word1:good

word2:good

Match

Endofprogram.

[root0rh1ooroot]#bashif1

word1:good

word2:bad

Endofprogram.

[root@rhlOOroot]H||

4、修改上述程序,編程提醒用戶輸入兩個單詞,并將其讀入,然后比較這兩個

單詞,假如兩個單詞相同顯示"Match",不同則顯示“Notmatch”,最后顯

示“Endofprogram”。V編程提醒〉請使用if…then…else控制結(jié)構(gòu)。

程序運(yùn)營過程如下:

[rooterhlOOroot)ftcat>if2

echo-n"word1:"

readword1

echo-n"word2:“

readword2

iftestM$wordlM="Sword2”

then

echo“Match”

else

echo"Notmatch*1

fi

echo"Endofprogram?H

[root^rhlOOroot]#bashif2

word1:good

word2:good

Match

Endofprogram*

IrooterhlOOrootbashif2

word1:yes

word2:no

Notmatch

Endofprogram.

[root^rhlOOroot]#■

5、編程使用case結(jié)構(gòu)創(chuàng)建一個簡樸的菜單,屏幕顯示菜單:

a.Currentdateandtime

b.Usercurrentlyloggedin

c.Nameoftheworkingdirectory

d.Contentsoftheworkingdirectory

Entera,b,cord:

根據(jù)用戶輸入選項做相應(yīng)操作。

she11編程代碼如下:

echo-eH\nCOMMANDMENU\n"

echo"a.Currentdateandtime”

echo"b.Usercurrentlyloggedin**

echo"c.Nameoftheworkingdirectory1*

echo"d.Contentsoftheworkingdirectory\nM

echo-n"Entera,b,cord:M

readanswer

echo

caseMSanswerHin

a)

date

f;

b)

who

;;

c)

pwd

11

d)

Is

;;

*)

echoHThereisnoselection:$answerM

?*

esac|

程序運(yùn)營結(jié)果如下:

[rooterhlOOroot]#bashmenu

COMMANDMENU

a.Currentdateandtime

b.Usercurrentlyloggedin

c.Nameoftheworkingdirectory

d.Contentsoftheworkingdirectory\n

Enterarbrcord:a

三5月1910:03:16CST2010

[root^rh100rootJftbashmenu

COMMANDMENU

a.Currentdateandtime

b.Usercurrentlyloggedin

c.Nameoftheworkingdirectory

d.Contentsoftheworkingdirectory\n

Enterarb,cord:b

rootttylMay1908:09

rootpts/oMay1908:09

rootpts/1May1908:55

[root^rh100root]#1

6、修改上題,使用戶可以連續(xù)選擇直到想退出時才退出。

shel1編程代碼如下:

[root^rhlOOroot]樸cat>menul

echo-e“\nCOMMANDMENU\n"

echo°a.Currentdateandtime”

echo"b.UsercurrentlyloggedinM

echo"c?Nameoftheworkingdirectory**

echo"d.Contentsoftheworkingdirectory**

echo"e?Exitmenu\nM

M

echo-n"Entera,brc,dore:

readanswer

echo

while[M$answerM!=MeH]

do

caseM$answerMin

a)date9;

b)who9;

c)pwd;;

cl)Isff

e)echo"ExitmenuI";;

*)echo?'Thereisnoselection:$answerM

esac

echo-n"Enterapbrc,dore:*'

readanswer

done

echo"Exitmenu!\nM

[root^rhlOOroot)Hbashmenul

程序運(yùn)營結(jié)果如下:

[root^rhlOOroot]#bashmenul

COMMANDMENU

a?Currentdateandtime

b.Usercurrentlyloggedin

c?nameoftheworkingdirectory

d.Contentsoftheworkingdirectory

e.Exitmenu\n

Entera,brc,dore:a

三5月二1910:38:43CST2010

Entera,brc,dore:b

root_ttylMay1908:09

rootpts/0May1908:09

rootpts/1May1908:55

Enter_arbrcrdore:e

Exitmenul\n

[root^rhlOOroot1

7、編程使用seiect結(jié)構(gòu)生成一個菜單如下:

1)app1e3)blueberry5)orange7)STOP

2)banana4)kiwi6)waterme1on

Chooseyourfavoritefruitfromthesepossibi1it

ies:

用戶輸入所選項,如1顯示:

Youchoseappleasyoufavorite.

Thatischoicenumber1.

shell編程代碼及運(yùn)營結(jié)果如下:

[rooterhiooroot]#cat>fruitsl

Hi/bin/basb

PS3=MChoseyourfavoritefruitformthesepossibilities:"

selectFRUITinapplebananablueberrykiwiorangewatermelonSTOP

do

iftest"$FRUIT="STOP”

then

echo”Thanksforplaying!M

break

fi

echo"YouchoseSFRUITasyourfavorite/*

echo"Thatischoicenumber$REPLY."

done

[root@rbl00root]#bashfruitsi

1)apple3)blueberry5)orange7)STOP

2)banana4)kiwi6)watermelon

Choseyourfavoritefruitformthesepossibilities:1

Youchoseappleasyourfavorite?

Thatischoicenumber1.

1)apple3)blueberry5)orange7)STOP

2)banana4)kiwi6)watermelon

Choseyourfavoritefruitformthesepossibilities:?

Thanksforplaying!

(rooterhiooroot]H|

8、上機(jī)編寫如下代碼,分析下面的程序,簡要說明整體功能,并

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論