星空网 > 软件开发 > 操作系统

神奇的expect

想写自动化脚本的时候,遇到需要交互的,如ssh,scp,就束手无策,直到我知道了expect。

expect 有一系列expect-send对组成,就像聊天一样。

expect A send B

expect C send D

先来个例子

#!/usr/bin/expect

set timeout 5

spawn ssh 192.168.2.38

expect "password" {send "slk\n"}

expect "Last login" {send " ls -l\n"}

expect eof

exit

/usr/bin/expect是指明该脚本要调用expect

set timeout 5,设置每个expect等待的时间,-1则为永不超时,在expect scp xxx xxx 的时候很好用,时间如果设太短,还没传完,expect就返回了。

spawn 创建一个进程,执行ssh 192.168.2.38命令,然后下面就是expect 和send的命令对了。

expect "password" {send "slk\n"}, 当出现“expect"的时候,发送,"slk\n",必须要加\n,就和我们平时自己输秘密最后要加个\n一样。

expect可以不止一个,所以下面可以继续expect和send。如果要执行的命令有很多,可以不写那么多expect send,直接把命令写在另一个脚本里,expect "Last login" {send " ./do.sh\n"} 就好了,expect是为交互而存在的,在不需要交互的地方调用expect是浪费自己的时间。

 




原标题:神奇的expect

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

lazada选品策略:https://www.goluckyvip.com/tag/84797.html
lazada上架商品:https://www.goluckyvip.com/tag/84798.html
lazada的佣金:https://www.goluckyvip.com/tag/84799.html
Talabat:https://www.goluckyvip.com/tag/848.html
东南亚 lazada:https://www.goluckyvip.com/tag/84800.html
lazada的优势和劣势:https://www.goluckyvip.com/tag/84801.html
夹江千佛岩景区门票(夹江千佛岩景区门票价格):https://www.vstour.cn/a/411232.html
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流