Shell程序设计
一、实验目的
1、了解和熟悉创建并使用脚本的步骤。
2、熟悉bash的控制结构。
3、学会简单的shell编程。
二、实验内容
1、创建一个简单的列目录和日期的shell 脚本并运行之。
2、用Shell 语言编制Shell 程序,该程序在用户输入年、月之后,自动打印数出该年该月的日历。
3、编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“End of program”,如果不同则显示“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:
三、实验步骤
1、创建一个简单的列目录和日期的shell脚本并运行之。
步骤:
键入下列命令,创建一个新文件:
(1)cat >new_script
(2)输入下列行:
echo Your files are
ls
echo today is
date
按回车键将光标移到一个新行,按ctrl + D 键保存并退出。
(3)检查文件内容,确保它是正确的:
#cat new_script
(4)运行脚本,输入它的文件名:
#new_script
该脚本不运行。
(5)输入下列命令,显示文件的权限:
#ls -l new_script
权限表明该文件不是可执行。
要通过简单调用文件名来运行脚本,必须有权限。
(6)输入下列命令,使new_script变成可执行文件。
chmod +x new_script
(7)要查看新的权限,输入:
ls-l
现在拥有文件的读、写和执行权限。
(8)输入新脚本的名字以执行它:
new_script
所有输入到文件的命令都执行,并输出到屏幕上。
(9)如果接收到错误信息,比如:
command not found
输入下列命令:
# ./new_script
该命令行通知shell到哪里寻找shell脚本new_script,即您的当前目录” . ”。
2、用Shell 语言编制Shell 程序,该程序在用户输入年、月之后,自动打印数出该年该月的日历。
cat>times
echo “please input the month:”
read month
echo “please input the year:”
read year
cal $month $year
3、编程提示用户输入两个单词,并将其读入,然后比较这两个单词。
如果两个单词相同示“Match”。
并显示“End of program”。
如果不同则显示“End of program”。
提示:echo -n 是显示内容,但不回车换行。
$ cat>if1
echo -n “word 1:”
read word1
echo -n “word2:”
read word2
if test “$word1” = “$word2”
then
echo “Match”
fi
echo “End of program.”
①if,then 控制结构的语法是:
if test_command
then
commands
fi
②其中test_command 为test “$word1” = “$word2”,test是一个内置命令,如果它的第一个参数和第三个参数存在第二个参数所指定的关系,那么test将返回ture。
Shell将执行then和fi之间的命令。
否则执行fi后面的语句。
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:
<参考程序>
echo -e “\n COMMAND MENU \n’
echo ”a,Current date and time”
echo “er currently logged in”
echo “ of the working directory”
echo “d.Contents of the working dirctory\n”
echo -n “Enter a,b,c or d:”
read answer
echo
case “$answer” in
a)date;;
b)who;;
c)pwd;;
d)ls
*)
echo “There is no selection :$answer”;;
esac
四、实验总结
通过这次试验,我了解了常用shell的编程特点以及shell程序设计的基础知识。
认识并且理解了shell程序流程控制、shell程序的运行方式、shell程序的调试方法
通过仔细做这次试验,对于shell的编程方法和技巧的知识有了进步,在看出一些眉目,学会了shell编程的一些小知识之后感觉还是挺有意思的。
通过几周的实习,我基本上掌握了shell的编程,了解和熟悉创建并使用脚本的步骤;熟悉bash的控制结构;学会简单的shell编程;能够通过编程实现一些功能,学会了Shell的一些控制语句,测试,Shell变量,Shell的特殊字符等。
初步学会了Linux下Shell的编程,为以后更加系统的学习Linux打下了坚实的基础!
参考网址:-70472.html
/65164b8ea0116c175f0e48d5.html。