预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

南京信息工程大学实验(实习)报告 实验(实习)名称shell脚本编程实验(实习)日期得分指导教师 系计算机专业计算机科学与技术年级班次姓名学号 一·【实验目的】 1、了解和熟悉创建并使用脚本的步骤。 2、熟悉bash的控制结构。 3、学会简单的shell编程。 二·【实验内容】 1、创建一个简单的列目录和日期的shell脚本并运行之。 步骤: ⑴输入下列命令,创建一个新文件: cat>new_script ⑵输入下列行: echo“Yourfilesare” ls echo“todayis” date 按回车键将光标移到一个新行,按Ctrl+D键保存并退出。 ⑶检查文件内容,确保它是正确的: #catnew_script ⑷运行脚本,输入它的文件名: #new_script 该脚本不运行。 ⑸输入下列命令,显示文件的权限: #ls–lnew_script 权限表明该文件不是可执行。要通过简单调用文件名来运行脚本,必须有权限。 ⑹输入下列命令,使new_script变成可执行文件。 chmod+xnew_script ⑺要查看新的权限,输入: ls–l 现在拥有文件的读、写和执行权限。 ⑻输入新脚本的名字以执行它: new_script 所有输入到文件的命令都执行,并输出到屏幕上。 ⑼如果接收到错误信息,比如: commandnotfound 输入下列命令: #./new_script 日10月1112:37:00CST2009 该命令行通知shell到哪里寻找shell脚本new_script,即您的当前目录“.”。 2、用Shell语言编制一Shell程序,该程序在用户输入年、月之后,自动打印数出该年该 月的日历。 <参考程序> echo“Pleaseinputthemonth:” readmonth echo“Pleaseinputtheyear:” readyear cal$month$year 3、编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显 示“Match”,并显示“Endofprogram”,如果不同则显示“Endofprogram”。 <参考程序>提示:echo–n是显示内容,但不回车换行 $cat>if1 echo–n“word1:” readword1 echo–n“word2:” readword2 iftest“$word1”=“$word2” then echo“Match” fi echo“Endofprogram.” <程序说明> ①if„then控制结构的语法是: iftest_command then commands fi ②其中test_command为test“$word1”=“$word2”,test是一个内置命令,如果它的 第一个参数和第三个参数存在第二个参数所指定的关系,那么test将返回ture。Shell将执 行then和fi之间的命令。否则执行fi后面语句。 4、修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果 两个单词相同显示“Match”,不同则显示“Notmatch”,最后显示“Endofprogram”。 <编程提示>请使用if„then„else控制结构。 5、编程使用case结构创建一个简单的菜单,屏幕显示菜单: a.Currentdateandtime b.Usercurrentlyloggedin c.Nameoftheworkingdirectory d.Contentsoftheworkingdirectory Entera,b,cord: 根据用户输入选项做相应操作。 <参考程序> echo–e“\nCOMMANDMENU\n” echo“a.Currentdateandtime” echo“b.Usercurrentlyloggedin” echo“c.Nameoftheworkingdirectory” echo“d.Contentsoftheworkingdirectory\n” echo–n“Entera,b,cord:” readanswer echo case“$answer”in a)date;; b)who;; c)pwd;; d)ls;; *) Echo“Thereisnoselection:$answer”;; esac 6、修改上题,使用户可以连续选择直到想退出时才退出。 While[t] Do clear echo–e“\nCOMMANDMENU\n” echo“a.Currentdateandtime” echo“b.Usercurrentlyloggedin” echo“c.Nameoftheworkingdirector