- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
s的hell 工具
下载
第26章 shell 工 具
本章将讨论以下内容:
• 创建以日期命名的文件及临时文件。
• 信号。
• t r a p命令以及如何捕获信号。
• e v a l命令。
• l o g g e r命令。
26.1 创建保存信息的文件
任何脚本都应该能够创建临时文件或日志文件。在运行脚本做备份时,最好是保存一个
日志文件。这些日志文件通常在文件系统中保留几周,过时将被删除。
在开发脚本的时候,可能总要创建一些临时的文件。在正常运行脚本的时候,也要使用
临时文件保存信息,以便作为另外一个进程的输入。可以使用 c a t命令来显示一个临时文件的
内容或把它打印出来。
26.1.1 使用date命令创建日志文件
在创建日志文件时,最好能够使它具有唯一性,可以按照日志文件创建的日期和时间来
识别这些文件。我们可以使用 d a t e命令做到这一点。这样就能够使日期和时间成为日志文件名
中的一部分。
为了改变日期和时间的显示格式,可以使用如下的命令:
date option + %format
使用加号‘+ ’可以设置当前日期和时间的显示格式。下面的例子将日期以日、月、年的
格式显示:
下面是一些常用的日期格式:
下面的命令可以使时间按照h h : m m 的格式显示:
下面的命令可以显示完整的时间:
290 第五部分 高级s h e l l编程技巧
下载
注意,如果希望在日期和时间的显示中包含空格,要使用双引号。
在文件名中含有日期的一个简单办法就是使用置换。把含有你所需要的日期格式的变量
附加在相应的日志文件名后面即可。
在下面的例子中我们创建了两个日志文件,一个使用了 d d ,m m ,y y 的日期格式,另一个
使用了d d ,h h ,m m 的时间格式。
下面就是这个脚本。
运行上面的脚本后,得到这样两个日志文件。
26.1.2 创建唯一的临时文件
在本书的前面讨论特殊变量时,曾介绍变量 $ $ ,该变量中保存有你所运行的当前进程的
进程号。可以使用它在我们运行的脚本中创建一个唯一的临时文件,因为该脚本在运行时的
进程号是唯一的。我们只要创建一个文件并在后面附加上 $ $ 即可。在脚本结束时,只需删除
带有$ $扩展的临时文件即可。 S h e l l将会把 $ $解析为当前的进程号,并删除相应的文件,而不
会影响以其他进程号做后缀的文件。
在命令行中输入如下的命令:
这就是当前的进程号,如果你执行这个命令,看到的结果可能会有所不同。现在如果我
创建另一个登录进程并输入同样的命令,将会得到一个不同的进程号,因为我已经启动了一
个新的进程。
下面的例子中,创建了两个临时文件,并进行了相应的操作,最后在结束时删除了这些
文件。
第2 6章 shell 工 具 291
下载
当上面的脚本运行时,将会创建这样两个文件:
在执行rm /tmp/*.$$ 时,s h e l l实际上将该命令解析为rm /tmp/*.408 。
记住,该进程号只在当前进程中唯一。例如,如果我再次运行上面的脚本,将会得到一
个新的进程号,因为我已经创建了一个新的进程。
如果文件有特殊用途的话,那么创建含有日期的文件,就可以使你很容易地查找到它们。
而且还可以很容易地按照日期删除文件,因为这样一眼就能看出哪个文件是必威体育精装版的,哪个文
件是最“旧”的。
还可以使用这种方法来快速地创建临时文件,它们在当前进程中是唯一的。在脚本结束
之前,也很容易删除这些临时文件。
26.2 信号
信号就是系统向脚本或命令发出的消息,告知它们某个事件的发生。这些事件通常是内
存错误 ,访问权限问题或某个用户试图停止你的进程。信号实际上是一些数字。下表列出了
最常用的信号及它们的含义。
信 号 信 号 名 含 义
1 S I G H U P
文档评论(0)