信息

【技术分享】解决expect<

热帖

问题描述

使用 expect 进行交互式 shell 编程,当以 expect<<EOF 的形式在 shell 脚本中穿插 expect 语句时,interact 在执行中无效。

搜索了一番,找到如下解释:

问题出在 expect << EOF。对于 expect << EOF,expect 的 stdin 是 here-doc,而不是tty。但是interact命令只有在 expect 的 stdin 是 tty 时才起作用。

解决方法

使用整段 expect 代码包裹为一个字符串参数的形式,以 -c 形式调用 expect 执行

更改前

...
...shell code...
...
/usr/bin/expect << EOF
spawn xxxxxxx
expect 'xxx'
send 'xxxxxx'
interact 
EOF
...
...shell code...
...

更改后

...
...shell code...
...
/usr/bin/expect -c "spawn xxxxxxx
expect "xxx"
send \"xxxxxx\"
interact "
...
...shell code...
...
🌟-阅读剩余-🌟
版权声明 1、本网站名称:安鹿轩
2、本站永久网址:https://www.anlu1314.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系在本站私信站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

THE END