当expect脚本中有多个“spawn”语句时,只有最后一个spawn语句被完全执行

Ela*_*Ela 4 linux bash expect spawn

从expect 脚本中,我调用另外两个shell 脚本。但只有第二个 shell 脚本似乎能正确执行。因为第一个shell脚本的输出语句在屏幕上是看不到的。这是我的期望脚本:

#!/usr/bin/expect
spawn /bin/bash test1.sh
spawn /bin/bash test2.sh
interact
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?解决办法是什么?

pyn*_*exj 7

您需要等待第一个生成进程完成:

spawn /bin/bash test1.sh
expect eof

spawn /bin/bash test2.sh
interact
Run Code Online (Sandbox Code Playgroud)