怎么在Linux中使用expect命令编写一个自动化交互脚本

怎么在Linux中使用expect命令编写一个自动化交互脚本?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

expect 是建立在工具控制语言(Tool Control Language,TCL)之上的一个工具,它允许你通过编写程序来对一些日常繁琐的任务进行有交互界面的自动化操作。在 expect 上下文环境,你可以使用一些额外的只适用于 expect 上下文环境的命令,如 spawn、send、interact 等命令。

怎么在Linux中使用expect命令编写一个自动化交互脚本

expect 预期的终端输出

这里预期的输出从左往右只要存在匹配即可。它相当于 Python 的 search() 函数,而非 match() 函数。举个例子你就明白了。

想要登陆到 root 权限,首先观察在普通交互模式下的效果。

怎么在Linux中使用expect命令编写一个自动化交互脚本

在获悉返回字符串的模式后,你可以这样写 expect Password,也可以这样写 Password:,甚至可以写成 assw,它们对于 expect 命令而言都是一样的。

下面的脚本用来开启一个远程 ssh 会话。

#!/usr/bin/expect
spawnsshuser@ip_addr
send"password\r"
interact

如果想要保存并调用一些变量,你可以使用 set 参数进行设置。

公式
set变量名[lindex$argv数字]
实例
setport[lindex$argv1]

之前的 ssh 登陆脚本如果加上变量会变成下面这样。大约需要 10 秒的加载时间。

#!/usr/bin/expect
setip[lindex$argv0]
setuser[lindex$argv1]
setpassword[lindex$argv2]
spawnssh"$user\@$ip"
expect"Password:"
send"$password\r";
interact

怎么在Linux中使用expect命令编写一个自动化交互脚本

关于怎么在Linux中使用expect命令编写一个自动化交互脚本问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注恰卡编程网行业资讯频道了解更多相关知识。

发布于 2021-03-26 01:50:30
收藏
分享
海报
0 条评论
169
上一篇:如何在python中使用pygame框架 下一篇:怎么在Android中使用ViewPager实现一个滚动广告效果
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码