2023年Shell编程实验报告_第1页
2023年Shell编程实验报告_第2页
2023年Shell编程实验报告_第3页
2023年Shell编程实验报告_第4页
2023年Shell编程实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京信息工程大学实验(实习)报告

【实验目的】

1、了解和熟悉创建并使用脚本的环节。

2、熟悉bash的控制结构。

3、学会简朴的shell编程。

【实验内容】

1、创建一个简朴的列目录和日期的shell脚本并运营之。

环节:

⑴输入下列命令,创建一个新文献:

cat>new_script

⑵输入下列行:

echo"Yourfilesare"

Is

echo"todayis"

date

按回车键将光标移到一个新行,按ctrI+D键保存并退出。

⑶检查文献内容,保证它是对的的:

catnew_script

⑷运营脚本,输入它的文献名:

new_script

该脚本不运营。

⑸输入下列命令,显示文献的权限:

Is-Inew_script

权限表白该文献不是可执行。要通过简朴调用文献名来运营脚本,必须有权限。

⑹输入下列命令,使new_script变成可执行文献。

chmod+xnew_script

⑺要查看新的权限,输入:

Is-1

现在拥有文献的读、写和执行权限。

⑻输入新脚本的名字以执行它:

new_script

所有输入到文献的命令都执行,并输出到屏幕上。

⑼假如接受到错误信息,比如:

commandnotfound

输入下列命令:

./new_script

该命令行告知she1I到哪里寻找shell脚本new一script,即您的当前目录

程序运营过程如下:

[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程序,该程序在用户输入年、月之后,自动打

印数出该年该月的日历。

程序运营过程如下:

[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,,。

程序运营过程如下:

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控制结构。

程序运营过程如下:

[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结构创建一个简朴的菜单,屏幕显示菜单:

a.Currentdateandtime

b.Usercurrentlyloggedin

c.Nameoftheworkingdirectory

d.Contentsoftheworkingdirectory

Entera,b,cord:

根据用户输入选项做相应操作。

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|

程序运营结果如下:

[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、修改上题,使用户可以连续选择直到想退出时才退出。

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

程序运营结果如下:

[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结构生成一个菜单如下:

1)app1e3)blueberry5)orange7)STOP

2)banana4)kiwi6)waterme1on

Chooseyourfavoritefruitfromthesepossibi1it

ies:

用户输入所选项,如1显示:

Youchoseappleasyoufavorite.

Thatischoicenumber1.

shell编程代码及运营结果如下:

[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、上机编写如下代码,分析下面的程序,简要说明整体功能,并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论