Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

文本建立与键盘输入

编写一个SHELL程序,将用户从键盘输入的文本附加到一个指定的文件中。如果该文件不存在,则新建立该文件;如果该文件已经存在,则把键盘输入的文本附加到该文件后面。输入内容及行数不限定,以空行表示输入结束。运行结束时显示该文件内容。

实验内容

  1. 用屏幕编辑程序 vi 建立SHELL程序exam1。程序头应有几行以#号开始的简单的程序功能说明行,其它主要的语句前或后都应有功能注释。

  2. 通过检测变量$#的值判断命令行参数个数是否正确,如果正确则程序继续运行下去;否则提示用户该命令的运行格式:

    Usage: exam1 filename

    并退出运行。

  3. 设置变量INPUT,并赋予任意一个非空的字符串。

  4. echo 语句在屏幕上提示用户输入任一行文本(空行表示整个输入结束)。

  5. 用while建立一无限循环,循环退出条件为变量INPUT为空,循环体为用 read 语句读入一行到变量INPUT中,用 echo 命令将该变量的内容用附加方式的重定向(>>)输出到用户在命令行上指定的文件名中。

  6. cat 命令将该文件的内容显示在屏幕上。

  7. ls 命令查看刚建立好的exam1的读写保护模式。

  8. chmod 命令修改exam1的读写保护模式,使用户自己拥有执行权限。

  9. 使用./exam1 ***命令测试运行shell程序。

  10. 试试不带参数或参数个数大于等于2个来运行exam1程序,看程序能否正常判断,并显示提示信息后退出。

  11. 用一个新文件名newfile作为参数正常运行exam1,任意输入若干行,并以一个空行结束输入。程序能否显示前面的所有输入行后结束运行。

  12. ls 命令查看当前目录下是否有新建立的newfile文件,并用 cat 命令查看该文件的内容。

  13. 再次用newfile作为参数运行exam1,运行结束后查看newfile文件中本次键盘输入的内容是附加还是覆盖上次运行时输入的内容。