gpt4 book ai didi

linux - Expect 交互效果很好,但不是来自文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:20 24 4
gpt4 key购买 nike

当我像这样交互式地使用 expect 时效果很好:

root@vagrantup:/home/vagrant> expect -i
expect1.1> spawn screen -x
spawn screen -x
3195
expect1.2> send "ls\n"
expect1.3> exit

但是在文件中使用相同的命令:

spawn screen -x
send "ls\n"
exit

仅在某些时候有效,例如。每次执行文件时的 1/10 次。这真的很奇怪。

我用这个命令执行文件:

expect -f Expectfile

我还测试了这些:

expect -b Expectfile
expect Expectfile

但我得到了同样的错误。

什么也没说。另一个屏幕(因为我使用的是“屏幕”命令)只在某个时候响应。谁知道为什么?

最佳答案

我希望你使用 ls 来代表其他东西,因为如果你只想要一个本地文件列表,你最好使用 glob 命令。当然,您实际上可能正在做类似的事情,也可以使用 screen -x,但现在让我觉得有点过于复杂了。

可能的失败(虽然由于缺乏证据,我在黑暗中拍摄)可能是使用虚拟终端的各种事物之间的交互(期望和屏幕都这样做,而且没有那么多虚拟终端可用系统-wide)或由于没有足够的时间重新建立 session 连接而导致的某种计时问题。 (不过 10 次中有 9 次失败?那太多了。)如果是计时问题,在 500 之后插入一个 会有所帮助。如果是终端数量,那你就有问题了;也许可以使用 lsof 之类的工具来发现这一点,但是有很多事件部件,我不知道是什么地方出了问题。

关于linux - Expect 交互效果很好,但不是来自文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3747040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com