1、Linux 课程实验报告实验名称: Linux Shell 程序设计班级: 110342A 姓名: 石心刚 学号: 110342124 任课教师: 杨志娴完成日期: 2013 年 11 月 5 日 实验环境: Ubuntu12.4一、实验目的1、掌握 shell 脚本编写的基本知识;2、掌握 shell 脚本中变量的使用;3、掌握 shell 脚本中引用命令行参数的方法;4、掌握 for 循环、while 循环、read 命令的使用;5、掌握 shell 脚本调试。二、实验内容1.编写一个脚本 timer.sh,实现如下分支功能:【1】显示当前系统时间;【2】显示万年月历;【3】判断输入的年份
2、是否是闰年,并给出结果。【4】询问用户是否重复继续操作。2.命令掌握:【1】echo 命令:显示其后的变量值或者直接显示它后面的字符串 ech一般格式:echo -neE args【2】date 命令:显示当前系统时间可以在引用语句中用反引号也可以直接调用;【3】cal 命令:显示万年月历,可直接调用;【4】case 语句:Case 字符串 in模式字符串 1) 命令.命令模式字符串 2) 命令.命令.模式字符串 n) 命令.命令Esac【5】read 命令:利用 read 命令从键盘上读取数据,然后赋给指定的变量【6】if 判断命令:Read -p 字符串 变量If 条件 ; then命令E
3、lif 条件 ;then命令Else 命令Fi 【7】脚本源码:三、实验环境1.安装 vmware 虚拟机软件2.window xp/7/8 主机系统以及 Ubuntu12.0 系统;3.Terminal 终端4、实验步骤1、打开 Terminal 终端,新建脚本文件并进行编辑 vi timer2、使用 bash 的 case 选择语句编写一脚本 timer.sh 能分别实现指定功能:3.调试程序;4.反复修改直到达到预定目的。五、实验结果与讨论功能【1】演示:功能【2】演示:功能【3】演示:2013 年不是闰年2012 年是闰年;功能【4】演示:继续操作:不再继续操作:选择错误:六、总结【1
4、】通过这次实验,熟悉了 Shell 脚本的编写、控制语句的使用( if 语句,while 语句,for 语句)和变量的定义及扩展等;【2】在编写 if 语句时,没有将 if $leap -eq 0 用空格分开,出现如下错误:改正后即可正常运行;【3】Shell 脚本文件是顺序执行,可以在 case 语句中套用 if,且语句必须构成 if-fi、case-esac 对称方可,其中 case 在模式命令执行后需加;【4】由于我用的是 Ubuntu 系统,所以在 Vi 编辑脚本时候需要依照上 Ctrl+P,左Backspace,右 Space,下 Ctrl+N 的规则,操作起来十分复杂;【5】通过 Shell 程序设计,更加丰富了 Linux 系统操作经验。