我遇到一个问题,在Linux完成启动之后,它会在赶上提示之前退出。我的"证明"它的出现是一旦提示可见就可以拉出minicom菜单,但是我的"发送"从未发行过。否则,当minicom运行一个脚本时,它不会为ctrl + az等用户输入。
为了尝试查看脚本是否超时,我尝试在期望中添加超时:
springfox.documentation.service
这导致我的日志文件包含:
print "\n\n#####\nExec Linux\n#####\n\n"
send exec -c \"noinitrd console=ttymxc0,115200 root=/dev/nfs<etc.>
expect {
"ubiformat:"
"root@xxx_yyy:" break
"root@xxx.yyy:" break
"root@undefined.yyy:" break
timeout 300 print "\n\n\n#####\n Expect timeout waiting for prompt during Linux boot, not going to do flash.sh\n#####\n\n"
}
有趣的是,在脚本工作的主板上,它始终有效。在那些命令提示没有被期望捕获的情况下,它一直都会失败。
我在vim中打开了日志文件并发出了&#34;:set list&#34;看看提示是否与我期望的完全匹配,并确实如此。
期望模式的注释:
MXC Watchdog # 0 Timer: initial timeoutscript "update.mc" line 111: unknown command "300"
问题: 关于如何调试为什么有时提示没有被期望捕获的任何建议? 关于期望中的正确超时语法的任何建议吗?
接下来,我将在超时时间内尝试1h2m30s语法,我在某个示例中看到了这一点。也许&gt; 60不允许没有&#39; h&#39; m&#39; m&#39;或者&#39;。