2024年-元宵倒计时

9 天 9 时 9 分 9 秒


【技术分享】解决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. 本站永久网址: www.anlu1314.com

3. 本站提供的所有内容仅供学习、交流和分享用途,只供参考。

4. 本站资源禁止并谢绝未经本站许可的使用,如欲转载,请署名以及注明出处。

5. 本站(原创)文章、资源、图片等所有内容,一经转载,即表示您已经接受上述声明!需自行承担一切风险与责任!

6. 关于本站的所有留言评论与转载、引用文纯属文字原作者个人观点,与本站观点及立场无关!

7. 有任何侵权问题请联系E-mail [email protected]

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
今日签到
搜索