实验三 shell编程实验(一 上机时间:
任课教师: 实验教师: 实验成绩:
一、实验目的
1.了解shell的作用和主要分类。
2.掌握bash的建立和执行方式。
3.掌握bash的基本语法。
4.综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。
二、实验注意事项
实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。
要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)
名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。
三、实验内容
1.利用vi 建立一个脚本文件,该文件在用户输入年、月之后,自动打印数出该年该月的日历。然后以3种不同方式执行该脚本,如有不能执行情况,请说明原因。
yan@ubuntu:~$ cat >time
echo "please inpute the mounth"
read month
echo "please inpute the year"
read year
cal $month $year
2.编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“End of program”,如果不同则显示“End of program”。
yan@ubuntu:~$ cat >bijiao
echo -n "please inpute word1:"
read word1
echo -n "please inpute word2:"
read word2
if test "$word1" = "$word2"
then
echo "Match"
fi
echo "End of program"
图3.1 if…then流程图
3.修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同显示“Match”,不同则显示“Not match”,最后显示“End of program”。
<编程提示>请使用 if…then…else 控制结构。
yan@ubuntu:~$ cat >bijiao1
echo -n "please inpute word1:"
read word1
echo -n "please inpute word2:"
read word2
if test "$word1" = "$word2"
then
echo "Match"
else
echo "No match"
fi
echo "End of program"
4.编程使用case结构创建一个简单的菜单,屏幕显示菜单:
a. Current date and time
b. User currently logged in
c. Name of the working directory
d. Contents of the working directory
Enter a,b,c or d:
根据用户输入选项做相应操作。
yan@ubuntu:~$ cat >menu
echo "a. Current date and time"
echo "b. User currently logged in"
echo "c. Name of the working directory"
echo "d. Contents of the working directory"
echo "Enter a,b,c or d:"
read response
case "$response" in
a)
date;;
b)
who;;
c)
pwd;;
d)
ls;;
*)
echo "that option is not recognized";;
esac
1. 修改上题,使用户可以连续选择直到想退出时才退出。shell创建文件并写入内容
echo "a. Current date and time"
echo "b. User currently logged in"
echo "c. Name of the working directory"
echo "d. Contents of the working directory"
echo "e.Exit menu"
echo "Enter a,b,c d or e:"
read response
while ["$response" != "e"]
do
case "$response" in
a)
date;;
b)
who;;
c)
pwd;;
d)
ls;;
e)
echo "Exit menu";;
*)
echo "that option is not recognized";;
esac
echo "Enter a,b,c dor e:"
read response
done
echo "Exit menu"
6. 设计一个程序,从命令行接收数值参数,并计算这些参数的和。
四、实验报告要求
1.列出调试通过程序的清单,并加注释。
2. 写出程序运行步骤及结果。
3.总结上机调试过程中所遇到的问题和解决方法及感想。
通过这次实验,让我对shell的编程有了更全面的了解和掌握,同时对创建并使用脚本的步骤,bash的控制结构也有了一定的掌握;学会简单的shell编程;能够通过编程实现一些功能,学会了Shell的一些控制语句,测试,Shell变量,Shell的特殊字符等。这次实验其中还是遇到一些问题的,不过在同学的指导下,还是顺利完成和掌握了。此次实验让我受益匪浅。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论