shell编程
- 格式:doc
- 大小:26.50 KB
- 文档页数:4
Tutorial 5 shell编程
1 实验简介
本次实验内容主要包括:Shell变量的定义及其应用,Shell中的特殊字符,条件判断结构与循环结构,函数的定义和使用。
2 实验目的
(1)了解Shell的作用和主要分类
(2)练习编写简单的Shell程序
3 实验步骤:
(1)创建一个简单的列目录和日期的shell 脚本并运行。
输入下列命令,创建一个新文件:
$ cat >new_file
文件内容为:
echo “Your files are”
ls
echo “today is”
date
按回车键将光标移到一个新行,按Ctrl+D键保存并退出。
运行脚本,输入它的文件名:
$. /new_script
会发生什么情况?怎么样解决?
(2)用shell语言编制一Shell 程序,该程序在用户输入年、月之后,自动打印数出该年该月的日历。
用Shell
用vi times 或cat> times命令均可
echo "please input the month:"
read month
echo "please input the year:"
read year
cal $month $year
$ bash times (试试用此命令执行脚本),还有几种办法执行shell脚本程序。
(3)命令执行控制符练习
$ cd ..;pwd;ls
执行结果是什么?
(4)命令替换符的用法:
$ echo Today is `date ‘+%A’`
进一步理解命令替换符。
(5)条件执行命令用法:用vi命令建立两个文件file1和file2,然后执行下列文件,将文件file1复制到file2,如果成功则删除file1
$ cp file1 file2 && rm file1
(6)后台执行命令用法:在后台顺序执行两命令,20秒后跳出提示信息“Tea is ready”:$ ( sleep 20; echo T ea is ready ) &
(7)命令组合符用法:将两命令的输出送到mydoc,mydoc的第1行是Report,后面是file3的内容:
$ ( echo Report; cat file3 ) > mydoc
(8)元字符的引用
$ echo “* is a wildcard.”该命令的执行意义是什么?
$ echo ‘The prompter is “$”’该命令的执行意义是什么?
$ echo “Don’t do that!”该命令的执行意义是什么?
$ echo “Name ID Age Class”该命令的执行意义是什么?
(9)编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“End of program”,如果不同则显示“End of program”(先用vi或cat>命令建立脚本)
echo -n "word1:"
read word1
echo -n "word2:"
read word2
if test "$word1"="$word2"
then
echo "Match"
fi
echo "End of program."
(10)修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同显示“Match”,不同则显示“Not match”,最后显示“End of program”。
<编程提示>请使用if…then…else 控制结构。
(11).简单for循环(先用vi或cat>命令建立脚本)
for day in Monday Wednesday Friday Sunday
do
echo $day
Done
(12)创建一个shell 脚本,它从用户那里接收5个数,并显示已输入的最大的数。
参考程序:
#! /bin/bash
max=0
for((count=1 ; count <= 5 ; count = count+1))
do
echo -n "Enter number $count : "
read value
if [ 此处填入条件]
then
max=$value
fi
done。