Linux上Shell程序设计实验报告Word格式.docx
- 文档编号:18603974
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:18
- 大小:303.38KB
Linux上Shell程序设计实验报告Word格式.docx
《Linux上Shell程序设计实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《Linux上Shell程序设计实验报告Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
2.1.掌握Shell变量的使用
2.2.掌握Shell表达式的使用
2.3.掌握Shell流程控制语句的使用
3.熟悉Shell程序的执行和跟踪
二、实验环境与工件
湖边Linux实验室
Fedora13
三、实验内容与步骤
1.下面哪个命令会实现将变量VAR1和VAR2相加,并且值存入变量VAR3的功能?
(D)(5分)
[$VAR3=$VAR1+$VAR2]
$VAR3=[$VAR1+$VAR2]
$VAR3=((VAR1+VAR2))
((VAR3=VAR1+VAR2))
2.以下程序的输出是?
#!
/usr/bin/sh
A=1
while[$A-lt10]
do
B=1
while[$B-lt10]
do
break2
echo"
Innerloop"
done
Outerloop"
done
A.“Innerloop”将被打印10次
B.“Outerloop”将被打印10次.
C.“Outerloop”将被打印10次.
D.什么都没有被打印.
3.请在vi中逐一编辑,修正(如果有误)并执行以下10个shell脚本程序,然后结合所学知识和程序的输出理解各程序中各语句的含义,对各小题附上结果截图。
(每小题5分)
3.1.编写一个简单的回显用户名的shell程序。
/bin/bash
#filename:
date
echo"
Mr.$USER,Todayis:
"
echo'
date'
echoWhishyoualuckyday!
3.2.使用if-then语句创建简单的shell程序。
bbbb
echo-n"
Doyouwanttocontinue:
YorN"
readANSWER
if[$ANSWER=N-o$ANSWER=n]
then
exit
fi
3.3.使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序。
ak
pleaseinputascore:
readSCORE
YouinputScoreis$SCORE"
if[$SCORE-ge60];
Congratulation!
YouPasstheexamination."
else
Sorry!
YouFailtheexamination!
pressanykeytocontinue!
read$GOOUT
3.4.使用case语句创建一个菜单选择的shell程序。
za
#Displayamenu
echo_
1Restore"
2Backup"
3Unload"
echo
#Readandexcutetheuser'
sselection
EnterChoice:
readCHOICE
case"
$CHOICE"
in
1)echo"
Restore"
;
2)echo"
Backup"
3)echo"
Unload"
*)echo"
Sorry$CHOICEisnotavalidchoice
exit1
esac
3.5.使用for语句创建简单的shell程序。
mm
forabin1234
do
echo$ab
3.6.使用for语句创建求命令行上所有整数之和的shell程序。
qqq
sum=0
forINTin$*
sum='
expr$sum+$INT'
done
echo$sum
3.7.使用while语句创建一个计算1-5的平方的shell程序。
zx
int=1
while[$int-le5]
sq='
expr$int\*$int'
echo$sq
int='
expr$int+1'
Jobcompleted"
3.8.使用while语句创建一个根据输入的数值求累加和(1+2+3+4+…+n)的shell程序。
sum
PleaseInputNumber:
readNUM
number=0
while[$number-le$NUM]
echonumber
$number"
number='
expr$number+1'
echosum
$sum"
expr$sum+$number'
echo
3.9.使用until语句创建一个计算1-5的平方的shell程序。
xx
until[$int-gt5]
3.10.使用until语句创建一个输入exit退出的shell程序。
hk
Thisexampleisfortestuntil....do"
Ifyouinput[exit]thenquitthesystem"
pleaseinput:
readEXIT
until[$EXIT="
exit"
]
OK!
4.写一个Shell脚本,接收两个文件名作为参数。
该脚本将检查两个文件内容是否一样,如果一样就删除第二个文件。
请附程序和运行结果截图(5分)
5.写一个Shell脚本来检查当前目录中所有文件的可执行权限,如果存在一个文件没有可执行权限,则为其添加可执行权限。
6.编写一个shell脚本,输入1–10之间的一个数,并判断它是否小于5。
请附程序和运行结果截图,请注意程序的易读性。
(10分)
7.编写一个shell脚本,随机输入5个数,打印出了值为3的倍数的所有数。
四、实验结果
1.D
2.D
3.
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
请附程序和运行结果截图
if[-z$1];
Inputfile1andfile2"
exit
if[-z$2];
then
Inputfile2"
if[!
-f$1];
$1doesn'
texist."
-f$2];
$2doesn'
ifcmp$1$2
Bothfile'
scontentarethesame"
rm-f$2
if[$?
-eq0];
then
echo-e"
File$2hasbeendeletesuccessfully.\n"
else
Errordeletingfile$2.Pleasecheckwhetheritisaregularfileornot.\n"
fi
echo-e"
File$1and$2aredifferent.\n"
解:
clear
s=0
x=0
forfilein*.*
s=`expr$s+1`
if[!
-s$file];
ifchomodu+x$file
echo"
Successfullyaddexecutablepermissionto$file"
x=`expr$x+1`
failtoaddexecutablepermissionto$file"
echo-e"
\nTotalnumberoffilescanned:
$s"
Executablepermissionaddedto$xfile.\n"
截图:
解:
pleaseinputanumberbetween1and10:
readnum
if[$num-ge1-a$num-le10];
if[$num-lt5];
then
thisnumber<
5"
thisnumberisnotbetween1and10"
截图:
i=0
pleaseintput5number"
while[$i-lt5];
readarray[$i]
((i=i+1))
fornumin${array[@]}
yu=$(($num%3))
if[$yu-eq0];
$num能被3整除。
end"
5、实验总结与体会
Shell程序设计与C语言程序设计差别不大,仅仅是一些语法的差别。
通过本次试验,我也学会一些简单的shell程序设计,也熟悉了vi编辑器的使用。
指导教师批阅意见:
成绩评定:
指导教师签字:
年月日
备注:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux Shell 程序设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)