编写一个SHELL程序,将用户从键盘输入的文本附加到一个指定的文件中。如果该文件不存在,则新建立该文件;如果该文件已经存在,则把键盘输入的文本附加到该文件后面。输入内容及行数不限定,以空行表示输入结束。运行结束时显示该文件内容。
-
用屏幕编辑程序
vi建立SHELL程序exam1。程序头应有几行以#号开始的简单的程序功能说明行,其它主要的语句前或后都应有功能注释。 -
通过检测变量$#的值判断命令行参数个数是否正确,如果正确则程序继续运行下去;否则提示用户该命令的运行格式:
Usage: exam1 filename
并退出运行。
-
设置变量INPUT,并赋予任意一个非空的字符串。
-
用
echo语句在屏幕上提示用户输入任一行文本(空行表示整个输入结束)。 -
用while建立一无限循环,循环退出条件为变量INPUT为空,循环体为用
read语句读入一行到变量INPUT中,用echo命令将该变量的内容用附加方式的重定向(>>)输出到用户在命令行上指定的文件名中。 -
用
cat命令将该文件的内容显示在屏幕上。 -
用
ls命令查看刚建立好的exam1的读写保护模式。 -
用
chmod命令修改exam1的读写保护模式,使用户自己拥有执行权限。 -
使用
./exam1 ***命令测试运行shell程序。 -
试试不带参数或参数个数大于等于2个来运行exam1程序,看程序能否正常判断,并显示提示信息后退出。
-
用一个新文件名newfile作为参数正常运行exam1,任意输入若干行,并以一个空行结束输入。程序能否显示前面的所有输入行后结束运行。
-
用
ls命令查看当前目录下是否有新建立的newfile文件,并用cat命令查看该文件的内容。 -
再次用newfile作为参数运行exam1,运行结束后查看newfile文件中本次键盘输入的内容是附加还是覆盖上次运行时输入的内容。