知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

linuxshell编程指南第二十五章------深入讨论((

发布时间:2014-09-05 13:34:22作者:知识屋

我们在介绍标准输入和标准输出以及while循环的时候已经几次遇到< <的应用。我们学会了如何发送邮件,如何构建一个菜单,不过< <还有很多其他的用法。

本章将介绍以下内容:

快速创建一个文件。

自动进入菜单。

ftp传输。

连接至其他应用系统。

该命令的一般形式为:
command <<word
t e x t
w o r d

这里再简要回顾一下< <的用法。当shell看到< <的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。这个分界符可以是你所定义的任何字符串。

可以使用< <来创建文件、显示文件列表、排序文件列表以及创建屏幕输入。

可以使用这种方法快速创建一个文件,并向其中存入一些文本:
$ cat >> myfile <<NEWFILE

现在可以输入一些文本,结束时只要在新的一行键入NEWFILE即可,这样就创建了一个名为yfile的文件,该文件中包含了一些文本。

如果打开了一个已经存在的文件,输入的内容会附加到该文件的末尾。

如果使用tab键,注意,一些老版本的shell可能无法正确理解它的含义。为了解决这一问题,可以在< <之后加一个横杠-,就像下面这样:
cat >> myfile <<- NEWFILE
[root@localhost huangcd]# cat >>myfilexx <<newfile
> nihao
> huang chengdu
> newfile
[root@localhost huangcd]# cat newfile
cat: newfile: 没有那个文件或目录
[root@localhost huangcd]# cat myfilexx
nihao
huang chengdu

从菜单来看,如果要备份所有的数据库,需要键入:
1) 菜单脚本的名字,sybbackup。
2) 键入2。
3) 键入3。
4) 键入Y。

下面的脚本能够自动运行数据库备份脚本sybbackup:

让我们来分析一下这一部分,这里给出了脚本sybbackup的全路径;>>$log_f 2>&1意味着所有的输出都重定向到$logf中,该变量的值为/logs/sql.backup.log。这是一个良好的习惯,因为这样就能够捕捉到所运行的程序或脚本的所有输出,如果出现错误的话,也能够被记录下来。<<MAAY之后的内容就是手工运行sybbackup脚本所需要输入的内容,直到遇到另外一个MAYDAY结束。

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜