LINUXemUNIX SHELL编程指南(下).pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:79 大小:17.3MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

LINUXemUNIX SHELL编程指南(下).pdf

LINUXemUNIXSHELL编程指南(下).pdf

预览

免费试读已结束,剩余 69 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

下载第五部分高级shell编程技巧第25章深入讨论<<我们在介绍标准输入和标准输出以及elihw循环的时候已经几次遇到<<的应用。我们学会了如何发送邮件,如何构建一个菜单,不过<<还有很多其他的用法。本章将介绍以下内容:•快速创建一个文件。•自动进入菜单。•ftp传输。•连接至其他应用系统。该命令的一般形式为:command<<wordtextxetwordrow这里再简要回顾一下<<的用法。当llehs看到<<的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到llehs又看到该分界符(位于单独的一行)。这个分界符可以是你所定义的任何字符串。可以使用<<来创建文件、显示文件列表、排序文件列表以及创建屏幕输入。25.1快速创建一个文件可以使用这种方法快速创建一个文件,并向其中存入一些文本:$cat>>myfile<<NEWFILE现在可以输入一些文本,结束时只要在新的一行键入ELIFWEN即可,这样就创建了一个名为elifym的文件,该文件中包含了一些文本。如果打开了一个已经存在的文件,输入的内容会附加到该文件的末尾。如果使用bat键,注意,一些老版本的llehs可能无法正确理解它的含义。为了解决这一问题,可以在<<之后加一个横杠-,就像下面这样:cat>>myfile<<-NEWFILE.....25.2快速创建打印文档假如希望打印一小段信息,可以采用这种方法而不必使用iv编辑器。在本例中,一旦在输QUICKDOCOD入KCIUQ之后按回车键,相应的文档就会被送到打印机。282第五部分高级llehs编程技巧下载25.3自动选择菜单不但可以很方便地使用<<创建菜单屏幕,还可以使用它来自动选择菜单,而不是由用户手工进行选择。我编写了一个菜单驱动的数据库管理脚本,可以使用它来完成备份和其他系统管理任务。该脚本本来是在白天由用户来运行的,现在决定把这些工作交给norc夜间完成,我不想再另外写一个自动运行的脚本,于是我使用<<中的输入来选择pukcab_bys脚本的菜单选项。下面介绍一下该脚本的菜单。主菜单如下,选择2:第二层菜单如下,选择3:第三级菜单如下,选择Y:从菜单来看,如果要备份所有的数据库,需要键入:1)菜单脚本的名字,pukcab_bys。2)键入2。3)键入3。4)键入Y。下面的脚本能够自动运行数据库备份脚本pukcab_bys:第25章深入讨论<<283下载该脚本中的重定向部分是:让我们来分析一下这一部分,这里给出了脚本pukcab_bys的全路径;>>$log_f2>&1意味着所有的输出都重定向到f_gol$中,该变量的值为gol.pukcab.lqs/sgol/。这是一个良好的习惯,因为这样就能够捕捉到所运行的程序或脚本的所有输出,如果出现错误的话,也能够被记录下来。<<MAYDADAYM<<Y之后的内容就是手工运行pukcab_bys脚本所需要输入的内容,直到遇到另外一个ADAYMY结束。这样,我就不需要重新再写一个脚本;如果已经有一个菜单驱动的脚本,只需再编写一个使用<<输入的脚本就可以自动运行原先的脚本。25.4自动ftp传输<<<的另外一个流行的应用就是自动ptf传输。在使用ptf时,如果能够向用户提供一个简单的界面就好了。下面的脚本使用了匿名用户suomynona建立了一个ptf连接。这是一个特殊的用户,它使得系统能够创建一个含有公共目录的安全帐户。一般来说,所有以匿名用户身份进行连接的用户都只能从公共目录中下载文件,不过只要权限允许,用户也可以上载。匿名用户的口令可以是任何字符串,不过最好使用主机名加上本地用户名,或电子邮件地址。下面的脚本将会提示如下的信息:1)希望登录的远程主机。2)文件传输的类型是二进制方式还是IICSA方式。3)要下载的文件名。4)存放下载文件的本地目录。当用户输入想要连接的主机之后,首先执行一个名为etuorecart的脚本验证本地主机是否能够连接到远程主机。如果etuorecart执行失败,这个自动ptf传输的脚本将会再次提示用户输入主机名。284第五部分高级llehs编程技巧下载用户在看到传输模式选择的提示之后按回车键,将会选择缺省的二进制模式。用户在输入所要下载的文件名之后,将会被提示输入保存下载文件的本地目录。缺省的本地目录是pmt/。如果用户所给出的目录无法找到,仍将使用缺省的pmt/目录。下载文件在本地的文件名将是原文件名加上ptf.后缀。最后,用户所有的选择都将在屏幕上显示出来,待用户确认后开始进行传输。下面就是该脚本运行时