Expect自动化交互脚本
如果你对自动化任务感兴趣,Expect绝对是个不错的工具。它能帮你搞定那些需要手动输入的操作,比如 SSH 登录、远程服务器管理,或者自动化测试等场景。Expect是基于Tcl的,所以安装之前确认你的系统有 Tcl 哦。
它的用法也挺,几个关键命令就能实现复杂的功能:
- spawn
启动程序
- expect
等待输出
- send
发送输入
比如下面这个小脚本就能帮你改登录的 Shell:
#!/usr/bin/expect
set user [lindex $argv 0]
spawn chsh $user
expect "]:"
send "/bin/tcsh\r"
expect eof
exit
,Expect还能超时和复杂的匹配情况,像这样:
set timeout 10
expect {
"Password:" { send "mypassword\r" }
timeout { send_user "Operation timed out!\n" }
}
,Expect是个挺好用的工具,尤其适合搞 IT 运维的朋友。如果你常需要重复性任务,不妨试试它。
9.56KB
文件大小:
评论区