Linux上Shell程序设计.docx

上传人:b****4 文档编号:12031179 上传时间:2023-04-16 格式:DOCX 页数:11 大小:199.87KB
下载 相关 举报
Linux上Shell程序设计.docx_第1页
第1页 / 共11页
Linux上Shell程序设计.docx_第2页
第2页 / 共11页
Linux上Shell程序设计.docx_第3页
第3页 / 共11页
Linux上Shell程序设计.docx_第4页
第4页 / 共11页
Linux上Shell程序设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Linux上Shell程序设计.docx

《Linux上Shell程序设计.docx》由会员分享,可在线阅读,更多相关《Linux上Shell程序设计.docx(11页珍藏版)》请在冰豆网上搜索。

Linux上Shell程序设计.docx

Linux上Shell程序设计

深圳大学实验报告

 

课程名称:

Linux操作系统

实验项目名称:

Linux上shell程序设计

学院:

计算机与软件学院

专业:

指导教师:

冯禹洪

报告人:

学号:

班级:

实验时间:

实验报告提交时间:

教务处制

一、实验目标:

1.熟悉vi编辑器的使用

2.掌握简单的Shell编程

2.1.掌握Shell变量的使用

2.2.掌握Shell表达式的使用

2.3.掌握Shell流程控制语句的使用

3.熟悉Shell程序的执行和跟踪

二、实验环境与工件

湖边Linux实验室

Fedora13

三、实验内容与步骤:

准备工作:

如果当前系统已经有学生名字加学号命名的账号,则直接以该账号登录,然后转2,一次完成后面的实验内容。

i.创建一个以学生名字加学号命名的账号,不如,学生名字为张山,学号为123,则操作如下:

#useraddzhangshan123

#passwdzhangshan123

然后以zhangshan123名字登录

ii.在主目录下

a)创建文件夹:

ShellProgram

$mkdirShellProgram

b)进入ShellProgram子目录

$cdShellProgram

iii.请根据自己对Linux的熟悉程度选做题

(一)或题

(二)

(一)

1.下面哪个命令会实现将变量VAR1和VAR2相加,并且值存入变量VAR3的功能?

()(5分)

A.[$VAR3=$VAR1+$VAR2]

B.$VAR3=[$VAR1+$VAR2]

C.$VAR3=((VAR1+VAR2))

D.((VAR3=VAR1+VAR2))

2.以下程序的输出是?

()(5分)

#!

/usr/bin/sh

A=1

while[$A-lt10]

do

B=1

while[$B-lt10]

do

break2

echo"Innerloop"

done

echo"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程序。

#!

/bin/bash

#filename:

bbbb

echo-n"Doyouwanttocontinue:

YorN"

readANSWER

if[$ANSWER=N-o$ANSWER=n]

then

exit

fi

3.3.使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序。

#!

/bin/bash

#filename:

ak

echo-n"pleaseinputascore:

"

readSCORE

echo"YouinputScoreis$SCORE"

if[$SCORE-ge60];

then

echo-n"Congratulation!

YouPasstheexamination."

else

echo-n"Sorry!

YouFailtheexamination!

"

fi

echo-n"pressanykeytocontinue!

"

read$GOOUT

3.4.使用case语句创建一个菜单选择的shell程序。

#!

/bin/bash

#filename:

za

#Displayamenu

echo_

echo"1Restore"

echo"2Backup"

echo"3Unload"

echo

#Readandexcutetheuser'sselection

echo-n"EnterChoice:

"

readCHOICE

case"$CHOICE"in

1)echo"Restore";;

2)echo"Backup";;

3)echo"Unload";;

*)echo"Sorry$CHOICEisnotavalidchoice

exit1

esac

3.5.使用for语句创建简单的shell程序。

#!

/bin/bash

#filename:

mm

forabin1234

do

echo$ab

done

3.6.使用for语句创建求命令行上所有整数之和的shell程序。

#!

/bin/bash

#filename:

qqq

sum=0

forINTin$*

do

sum='expr$sum+$INT'

done

echo$sum

3.7.使用while语句创建一个计算1-5的平方的shell程序。

#!

/bin/bash

#filename:

zx

int=1

while[$int-le5]

do

sq='expr$int\*$int'

echo$sq

int='expr$int+1'

done

echo"Jobcompleted"

3.8.使用while语句创建一个根据输入的数值求累加和(1+2+3+4+…+n)的shell程序。

#!

/bin/bash

#filename:

sum

echo-n"PleaseInputNumber:

"

readNUM

number=0

sum=0

while[$number-le$NUM]

do

echonumber

echo"$number"

number='expr$number+1'

echosum

echo"$sum"

sum='expr$sum+$number'

done

echo

3.9.使用until语句创建一个计算1-5的平方的shell程序。

#!

/bin/bash

#filename:

xx

int=1

until[$int-gt5]

do

sq='expr$int\*$int'

echo$sq

int='expr$int+1'

done

echo"Jobcompleted"

3.10.使用until语句创建一个输入exit退出的shell程序。

#!

/bin/bash

#filename:

hk

echo"Thisexampleisfortestuntil....do"

echo"Ifyouinput[exit]thenquitthesystem"

echo-n"pleaseinput:

"

readEXIT

until[$EXIT="exit"]

do

readEXIT

done

echo"OK!

"

4.写一个Shell脚本,接收两个文件名作为参数。

该脚本将检查两个文件内容是否一样,如果一样就删除第二个文件。

请附程序和运行结果截图(5分)

参考代码:

测试:

5.写一个Shell脚本来检查当前目录中所有文件的可执行权限,如果存在一个文件没有可执行权限,则为其添加可执行权限。

请附程序和运行结果截图(5分)

参考代码:

测试:

6.编写一个shell脚本,输入1–10之间的一个数,并判断它是否小于5。

请附程序和运行结果截图,请注意程序的易读性。

(10分)

7.编写一个shell脚本,随机输入5个数,打印出了值为3的倍数的所有数。

(20分)

(二)

1.编写shell脚本将当前目录下大于10k的文件转移到/tmp目录下(30分)

#vi10K.sh

#!

/bin/bash

#ext-1

#Usingformovecurrentlydirectoryto/tmp

forFilenamein$(ls-l|awk'$5>10240{print$9}')

do

mv$Filename/tmp

done

ls-la/tmp

echo"Done!

"

2.设计一个Shell程序,在~/data/目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:

读;文件所有者的权限为:

读、写、执行;文件所有者所在组的权限为:

读、执行。

(30分)

#!

/bin/bash

#7.sh

#fileexecutable:

chmod7557.sh

PATH=/bin:

/sbin:

/usr/bin:

/usr/sbin:

/usr/local/bin:

/usr/local/sbin:

~/bin

exportPATH

for((i=1;i<=50;i++))

do

      mkdir-p/usrdata/user$i

      cd/usrdata

      chmod754user$i

done

3.找出系统内大于50k,小于100k的文件,并用长格式显示它们的详细属性.(40分)

四、实验结果

 

五、实验总结与体会

指导教师批阅意见:

成绩评定:

指导教师签字:

年月日

备注:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

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

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