清单 6. 使用 Expect 脚本实现远程系统程序执行的自动化的示例
#!/usr/bin/expect -f
spawn telnet webserv4
expect "login:"
send "joer"
expect "Password:"
send "secretr"
expect "webserv4>$"
send "test-serversr"
expect "webserv4>$"
send "byer"
expect eof
现在,对于整个执行过程,不再需要运行 telnet 连接到远程系统,使用您的用户名和密码进行登录,在该系统上运行这些命令,然后注销 。您只需运行清单 6 中给出的 servmaint 脚本,就可以自动完成所有的工作 。当然,如果您在这种脚本中提供了密码或其他专用的信息,那么就有一个安全性因素需要考虑,至少,您应该更改该文件的权限,以确保您是唯一可以读取它的用户(除超级用户之外) 。
可以在 Expect 中对涉及到系统交互的重复性任务进行编程,它提供了分支、条件以及高级语言的所有其他特性,以便与这些程序交互的响应和方向能够完全实现自动化 。
结束语
在办公环境中,UNIX 系统可以处理许多任务,而通常情况下,这些任务由运行其他操作系统的单独的计算机进行处理,使用 UNIX 系统中丰富的命令行工具,可以提高工作效率,而在任何其他的地方根本找不到这些工具 。
【UNIX 生产力技巧】本文介绍了一些使用 UNIX 命令行工具和应用程序来提高办公工作效率的技巧和概念 。您可以将这些思想应用于自己的办公环境,灵活地使用命令行工具,可以提供更多的方式以节省时间并提高工作效率 。
推荐阅读
- UNIX 新手指南,第 1 部分: 文件维护工具
- 使用 UNIX find 命令的高级技术
- 对话 UNIX: 更多 shell 脚本技术
- 对话 UNIX: !$#@*%
- UNIX 共享内存应用中的问题及解决方法
- 用Syslog 记录UNIX和Windows日志的方法
- 本周五Unix系统将发生时间错误
- 如何在Unix结果中抽取想要的参数
- 同步 UNIX 文件
- /dev/tty文件在Unix操作系统中的妙用
