|
5.2 read
可以使用r e a d语句从键盘或文件的某一行文本中读入信息,并将其赋给一个变量。如果只
第5章s h e l l输入与输出35
下载
指定了一个变量,那么r e a d将会把所有的输入赋给该变量,直至遇到第一个文件结束符或回
车。
它的一般形式为:
read varible1 varible2 ...
在下面的例子中,只指定了一个变量,它将被赋予直至回车之前的所有内容:
在下面的例子中,我们给出了两个变量,它们分别被赋予名字和姓氏。s h e l l将用空格作
为变量之间的分隔符:
如果输入文本域过长, Shell 将所有的超长部分赋予最后一个变量。下面的例子,假定要
读取变量名字和姓,但这次输入三个名字;结果如下;
在上面的例子中,如果我们输入字符串John Lemon Doe,那么第一个单词将被赋给第一
个变量,而由于变量数少于单词数,字符串后面的部分将被全部赋给第二个变量。
在编写s h e l l脚本的时候,如果担心用户会对此感到迷惑,可以采用每一个r e a d语句只给一
个变量赋值的办法:
用户在运行上面这个脚本的时候,就能够知道哪些信息赋给了哪个变量。
如果是LINUX系统,那么......
别忘了使用“-n”选项。
36 第一部分shell
下载
5.3 cat
c a t是一个简单而通用的命令,可以用它来显示文件内容,创建文件,还可以用它来显示
控制字符。在使用c a t命令时要注意,它不会在文件分页符处停下来;它会一下显示完整个文
件。如果希望每次显示一页,可以使用m o r e命令或把c a t命令的输出通过管道传递到另外一个
具有分页功能的命令中,请看下面的例子:
$ cat myfile | more
或
$ cat myfile | pg
c a t命令的一般形式为:
cat [options] filename1 ... filename2 ...
c a t命令最有用的选项就是:
-v 显示控制字符
如果希望显示名为m y f i l e的文件,可以用:
$ cat myfile
如果希望显示m y f i l e 1、m y f i l e 2、m y f i l e 3这三个文件,可以用:
$ cat myfile1 myfile2 myfile3
如果希望创建一个名为b i g f i l e的文件,该文件包含上述三个文件的内容,可以把上面命令
的输出重定向到新文件中:
$ cat myfile1 myfile2 myfile3 > bigfile
如果希望创建一个新文件,并向其中输入一些内容,只需使用c a t命令把标准输出重定向
到该文件中,这时c a t命令的输入是标准输入—键盘,你输入一些文字,输入完毕后按
< C T R L - D >结束输入。这真是一个非常简单的文字编辑器!
还可以使用c a t命令来显示控制字符。这里有一个对从D O S机器上f t p过来的文件进行检察
的例子,在这个例子中,所有的控制字符< C T R L - M >都在行末显示了出来。
有一点要提醒的是,如果在敲入了c a t以后就直接按回车,该命令会等你输入字符。如果
你本来就是要输入一些字符,那么它除了会在你输入时在屏幕上显示以外,还会再回显这些
第5章s h e l l输入与输出37
下载
(续)
内容;最后按< C T R L - D >结束输入即可。 |
|