Expect脚本:用户交互、安全与终端控制的全面指南
1. 引言
在自动化脚本编写中,与用户和进程进行交互是一项常见且重要的任务。同时,密码安全、终端模式设置以及程序执行时的输入输出重定向等问题也需要我们妥善处理。本文将深入探讨如何使用Expect脚本实现这些功能,帮助你更好地编写高效、安全的自动化脚本。
2. send_user与expect_user命令
在Expect脚本中, send 和 expect 命令在进程生成前后的行为有所不同。最初, send 用于向标准输出打印字符串,例如:
send "hello world\n"
但当进程生成后, send 会将字符串发送到生成的进程。而 send_user 命令则始终将字符串发送到标准输出,即便进程已经生成。例如,在以下的 ftp-rfc 脚本中:
#!/usr/local/bin/expect --
# retrieve an RFC (or the index) from uunet via anon ftp
if {[llength $argv] != 1} {
send "usage: ftp-rfc {-index|#}\n"
exit
}
set timeout -1
log_user 0
send "spawnin
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



