试验报告六SHELL编程.docx

上传人:b****8 文档编号:9316579 上传时间:2023-02-04 格式:DOCX 页数:11 大小:50.56KB
下载 相关 举报
试验报告六SHELL编程.docx_第1页
第1页 / 共11页
试验报告六SHELL编程.docx_第2页
第2页 / 共11页
试验报告六SHELL编程.docx_第3页
第3页 / 共11页
试验报告六SHELL编程.docx_第4页
第4页 / 共11页
试验报告六SHELL编程.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

试验报告六SHELL编程.docx

《试验报告六SHELL编程.docx》由会员分享,可在线阅读,更多相关《试验报告六SHELL编程.docx(11页珍藏版)》请在冰豆网上搜索。

试验报告六SHELL编程.docx

试验报告六SHELL编程

实验六SHELL编程

实验环境:

Linux操作系统

实验目的:

(1)掌握vi的三种工作方式,熟悉vi编辑程序的使用。

(2)学习Shell程序设计方法。

掌握编程要领。

实验内容:

1.用Vi编写例1。

练习内部变量和位置参数的用法。

用chmod将文件的权限设置为可执行模式,并在提示符后键入命令行:

$./prog1.

或$shprog1.

屏幕显示:

Namenotprovided

实验截图:

匕tu^p亡L~]4wim簞progl.h

[stu^pcishmypcogl.

[stu^pcl.-■]!

shwprogi^h

Ndinenotprovided

(stu^pclT$・/niwprQgX.hTheodorebf»qh;/ra^prog],h:

Mefileorfdirectory

[乳喀亡].shmypragi,hTheodore

YournameisTheodore

(stu^pcl-]$|

2.进一步修改程序progl.h

要求显示参数个数、程序名字,并逐个显示参数

[stu@pcl*]svim/progl.h

[5tu@pcl-]$./nyprogl.h

Yourshellprogramname15,/^YProq1rh

[stuGlpclT$./myprogl.hHNOKO

Yourparairieternunb-eris3

[stu@pcl-]S|

3•修改例1程序。

用read命令接受键盘输入。

若没有输入显示第一种提示,否则第二种提示。

di^frlaypram

readch

if[-2S

echo*ratprovidedecho*rournameis•枇h

then

el

fi

4.用vi编写例2、例3

练习字符串比较运算符、数据比较运算符和文件运算符的用法,观察运行结果。

例2:

^atririgl-"TTlieFirstone-1

^string?

»"TheSecondone*

[string1■=■strings]

then

echo■strina丄equaLtostrLino2w

else

<*chc1notoimg?

"

fl

iff五七ring1]

then

echo"atring丄isnotempt/"

else

■r电hui^slring31(t-npty*

fl

0T|-nstring?

]

then

echo"string^has.aLengthgreatethanzero*else

echoring2hasalengthequialtozero**

(ETugpcl-]$vico®pare

[stu^pc1*Hvicoaipdre.ti

(sTu^pci&hco«ipare.hstinglnotequalostring?

stringlisncleuptystringslias启lengthgre^tethanzero

例3:

t-d

Lheh

echoHcppdiri%directory*

pchn"cppdlr1noth

irpctor/"

n

(十fileaI

then

ecM'filoabrc^ul^r

els*?

'

ecrw"tlleanotaregularfils'*

r丄

t-rfilea|

the”

echo'"fh住金readpemj_^£iDn$"

els*

rcbK"filcadu亡、noLfcddpriiuik'

fi

[wfilea]

rhpn

ecrw"hdswilLeterni丄s士丄uiif

住I5H

看uhtoHfilconotwrl七乜pcmii^i^nc14

fi

it[-xcppdir|

then

ech-GHcpMduheAemtepenrvl^^ic!

nM

ech«Mcippdirdl&esnothaveexecuteperwis&iofri

运行结果:

cppdir15notadirectoryfileaisnotaregularfilefileadoesnetr-eadpermissionefilefldoesnetwritepernissi口rwcppdirdoesnothaveexecutepernBsLoii

5•修改例2程序。

使在程序运行中能随机输入字符串,然后进行字符串比较

re^d

rjugi

re-^td

stririg^

if(the-n

$rinq].=$strxi>92]

echo*strir»gi_c-quattostrir*g2*

fl

echowstringlnotcqualtostiing2*

讦[then

tstrin^l.]

elte

etho■stringLisnotempty"

fi

echo"

iffthen

-o5tring2]

el&e

echo'string?

agreater-thanzero

relic*stnr*g2h

kieu

kieu

stringLequal,tostrmqz亍t厂isF)Qten^ty

str-ing2h-asqlength^r^aterth^n2ero

6•修改例3程序。

使在程序运行中能随机输入文件名,然后进行文件属性判断

readfilename

[-dfileandmefilenarti)then

echoSfllenBHe*q>pdirIsdirectory''else

ecfwSfllename*cppdirisnot=»directory11fl

:

[-ffilenane]then

echoSfilenamefi

:

f[-rfilena»ethen

echosfilenamedsc

echo1THenainefi

[-置filenamethen.

echoSTllenanedsc

tefw

fi

「[-xfilenamethen

echfl$fil亡name

ecl"wSfilenameisaregularfile'■fileaisnotaregularfile'

J

-tileahasreadp-erniissions'

"filesdues,notr电aMp«r»LK&ione'*

J

"filaahaswritepcrmisstone"

"fdleadoe^notwrit亡p^rtni&siQiie

J

"tppdirhasexecutepernissipn"

echoifilenamefi

■匚ppdirdo?

snzteie匚utPp?

rmission

 

1stuOpclf],vicornpdi«

stOci'1$vicompared

stulpcl-13wicompareZ.h

stu^pcl*jl./CGHipare2.h

CMparcZ.h

(pmparrf.h

compart.hfileaisnotaregularflie

fiUadoeinotreadpermis^i^e

(Offlpare2.hfileadoesnotwritepermssiore

compare2.heppdirdoe^nothaveexecutermission

7.用vi编写例4、例5、例6、例7

掌握控制语句的用法,观察运行结果。

例4:

IsTuOpcl'15Text4h

ip;missingdestinationfileoperandafterbackup/Trycp--help'forinfomation.

/text4h:

line4:

[:

tootvwiyarguffcnt?

[stu(3pcl*]svite>t4.htstuflpcl-is/texT4+i

cp:

missingdestinationfileoperandafterbd

cdevfaild.

例5:

loopcount=0result=0while[$loopcount—It10]doloopcount='expr$loopcount+1'result='$result+($loopcount*2)done

echo“resultis$result”

例6:

loopcount=0

result=0

until[$loopcount-ge10]

do

loopcount='expr$loopcount+1'result='$result+($loopcount*2)done

echo“resultis$result”

例7:

[Siten="finish*|

8hen

Ir*&dK

n

done

[stu@pci*]£text/.h

1)continue

2)flnisti

#?

1

#?

2

[sti^pd-]*|

8.用vi编写例8及例9

掌握条件语句的用法,函数的用法,观察运行结果。

■i>1in

Bl|『

0?

|-

»3|

04

例&假如给出月份数字作为参数编写程序displaymonth.h

旳I

echo"MOnthisJan";;echo"MonthisFeb-1:

;

echo"MOnthi耳Mar';;echo■HDnthisApr-;;"HQnxhisMay";;echo*MOnthisJun";;ech«'FKnthnJul';;

«cho■nonihisAug-;;

El筑"ho•MOnthisSep*:

;ei«|ie{|echo'M&nthisOct\;011|11>echo'Monthis他严;;?

Q机he"WOnthisDtc-;:

echo"invalid";;

tiSdC

[stuwci«]|ultexra.h[stulpcl*]ItextshInvalid

例9:

|displavKionth()<

$1in

011iflecho"MonthisJan"?

;021曲呼ho"MonthisF电b*;;93echo"MonthisHar";:

B4|4[|echo'MonthIsApr*;;l-fecho"MonthIsMay-;;

J3il酗aie|ie

912|12

96|EQecho*MonthisJun";;Etho"ManthLsJul";:

|ezho'nor:

h15Aua";;echoHH9nth込Sep';;Iecho"Hanthi耳OctB;;echo"KtonthisNov";:

|echo*MqnthisPeC;;

-Qecho■Invalid';;

esse

}displayraonthfl叽ayKnth1Z

[—]svituKtS-h

[stu^pcl'jitexts.h

MonthisAug

MonthisDec

[siu(?

pci-1$|

9.编程,在屏幕上显示用户主目录名(HOME)、命令搜索路径(PATH),并显示由位置参数指定的文件的类型和操作权限。

[stu^pdT$vitext.h

[5tu卽cltextFh

homeis/home/stu

echopatnid/usr/Iocal/oin:

/usr/bin:

/bin:

/usr/openmpi/tin:

:

/opt/intet/composerxe

Zusr/local/sbin;/usr/sbin:

/sbin:

/honie/stu/bin

[stu^pcl-)$|

体会:

这次shell实验感觉有点难。

在用vi编程结束后运行时总是有语法错误,因为对语

法不太熟悉,因此在修改方面有很大的困难。

展开阅读全文
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1