Shell程序设计一、实验目的1、了解和熟悉创建并使用脚本的步骤。2、熟悉bash的控制结构。3、学会简单的shell编程。二、实验内容1、创建一个简单的列目录和日期的shell脚本并运行之。2、用Shell语言编制Shell程序,该程序在用户输入年、月之后,自动打印数出该年该月的日历。3、编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“Endofprogram”,如果不同则显示“Endofprogram”。4、编程使用case结构创建一个简单的菜单,屏幕显示菜单:a.Currentdateandtimeb.Usercurrentlyloggedinc.Nameoftheworkingdirectoryd.ContentsoftheworkingdirectoryEntera,b,cord:三、实验步骤1、创建一个简单的列目录和日期的shell脚本并运行之。步骤:键入下列命令,创建一个新文件:(1)catnew_script(2)输入下列行:echoYourfilesarelsechotodayisdate按回车键将光标移到一个新行,按ctrl+D键保存并退出。(3)检查文件内容,确保它是正确的:#catnew_script(4)运行脚本,输入它的文件名:#new_script该脚本不运行。(5)输入下列命令,显示文件的权限:#ls-lnew_script权限表明该文件不是可执行。要通过简单调用文件名来运行脚本,必须有权限。(6)输入下列命令,使new_script变成可执行文件。chmod+xnew_script(7)要查看新的权限,输入:ls-l现在拥有文件的读、写和执行权限。(8)输入新脚本的名字以执行它:new_script所有输入到文件的命令都执行,并输出到屏幕上。(9)如果接收到错误信息,比如:commandnotfound输入下列命令:#./new_script该命令行通知shell到哪里寻找shell脚本new_script,即您的当前目录”.”。2、用Shell语言编制Shell程序,该程序在用户输入年、月之后,自动打印数出该年该月的日历。cattimesecho“pleaseinputthemonth:”readmonthecho“pleaseinputtheyear:”readyearcal$month$year3、编程提示用户输入两个单词,并将其读入,然后比较这两个单词。如果两个单词相同示“Match”。并显示“Endofprogram”。如果不同则显示“Endofprogram”。提示:echo-n是显示内容,但不回车换行。$catif1echo-n“word1:”readword1echo-n“word2:”readword2iftest“$word1”=“$word2”thenecho“Match”fiecho“Endofprogram.”①if,then控制结构的语法是:iftest_commandthencommandsfi②其中test_command为test“$word1”=“$word2”,test是一个内置命令,如果它的第一个参数和第三个参数存在第二个参数所指定的关系,那么test将返回ture。Shell将执行then和fi之间的命令。否则执行fi后面的语句。4、编程使用case结构创建一个简单的菜单,屏幕显示菜单:a.Currentdateandtimeb.Usercurrentlyloggedinc.Nameoftheworkingdirectoryd.ContentsoftheworkingdirectoryEntera,b,cord:参考程序echo-e“\nCOMMANDMENU\n’echo”a,Currentdateandtime”echo“b.Usercurrentlyloggedin”echo“c.Nameoftheworkingdirectory”echo“d.Contentsoftheworkingdirctory\n”echo-n“Entera,b,cord:”readanswerechocase“$answer”ina)date;;b)who;;c)pwd;;d)ls*)echo“Thereisnoselection:$answer”;;esac四、实验总结通过这次试验,我了解了常用shell的编程特点以及shell程序设计的基础知识。认识并且理解了shell程序流程控制、shell程序的运行方式、shell程序的调试方法通过仔细做这次试验,对于shell的编程方法和技巧的知识有了进步,在看出一些眉目,学会了shell编程的一些小知识之后感觉还是挺有意思的。通过几周的实习,我基本上掌握了shell的编程,了解和熟悉创建并使用脚本的步骤;熟悉bash的控制结构;学会简单的shell编程;能够通过编程实现一些功能,学会了Shell的一些控制语句,测试,Shell变量,Shell的特殊字符等。初步学会了Linux下Shell的编程,为以后更加系统的学习Linux打下了坚实的基础!参考网址:://wenku.baidu.com/view/65164b8ea0116c175f0e48d5.html