为自己发送电子邮件提醒
您还可以使用文本消息为自己发送提醒。建立一则提醒消息,有些时候非常有用,您将在当前登录会话或下次登录时了解到这一点。
以前,旧的 elm 邮件代理附带一个工具,它允许您使用电子邮件发送备忘录,实际上是提醒发送者的脚本、主题和正文文本。通过基于时间的方法,使用命令行 mailx 工具向自己发送邮件,可以轻松地复制这个过程。(在一些 UNIX 系统中,使用 mail 来代替 mailx.)
将您的电子邮件地址(或您在本地系统中的用户名,如果您在本地系统中读取邮件)作为参数提供,然后,您可以在提示的 Subject 行中输入提醒消息(如果它非常短),如清单 5 所示。如果提醒消息不适合于 Subject 行,那么可以在消息正文中输入它。单独一行 ^D,表示退出 mailx 并发送邮件。
清单 5. 使用 mailx 命令向自己发送提醒的示例
$ mailx joe Subject: Call VP on Monday
^D
Cc:
Null message body; hope that's ok
$
实现重复性交互工作的自动化
Expect 语言(是 Tcl/Tk 的扩展,还有其他的变种可供使用)用来编写与交互式程序运行会话的脚本,而该脚本就好像是一个用户,直接与程序进行交互。
Expect 脚本可以为您节省大量的时间,特别是当您发现自己正在进行重复性任务的时候。Expect 可以与多个程序进行交互,包括 Shell 和基于文本的 Web 浏览器,它可以启动远程会话,并通过网络进行执行。
例如,如果您需要频繁地连接到本地内部网中的系统,以运行特定的程序,比如 test-servers 命令,您可以使用一个名为 servmaint 的 Expect 脚本实现自动化,该脚本的内容如清单 6 所示。
清单 6. 使用 Expect 脚本实现远程系统程序执行的自动化的示例
#!/usr/bin/expect -f
spawn telnet webserv4
expect "login:"
send "joe\r"
expect "Password:"
send "secret\r"
expect "webserv4>$"
send "test-servers\r"
expect "webserv4>$"
send "bye\r"
expect eof
现在,对于整个执行过程,不再需要运行 telnet 连接到远程系统,使用您的用户名和密码进行登录,在该系统上运行这些命令,然后注销。您只需运行清单 6 中给出的 servmaint 脚本,就可以自动完成所有的工作。当然,如果您在这种脚本中提供了密码或其他专用的信息,那么就有一个安全性因素需要考虑,至少,您应该更改该文件的权限,以确保您是唯一可以读取它的用户(除超级用户之外)。
可以在 Expect 中对涉及到系统交互的重复性任务进行编程,它提供了分支、条件以及高级语言的所有其他特性,以便与这些程序交互的响应和方向能够完全实现自动化。
结束语
在办公环境中,UNIX 系统可以处理许多任务,而通常情况下,这些任务由运行其他操作系统的单独的计算机进行处理,使用 UNIX 系统中丰富的命令行工具,可以提高工作效率,而在任何其他的地方根本找不到这些工具。
本文介绍了一些使用 UNIX 命令行工具和应用程序来提高办公工作效率的技巧和概念。您可以将这些思想应用于自己的办公环境,灵活地使用命令行工具,可以提供更多的方式以节省时间并提高工作效率。 |