我正在尝试自动部署 Docker 容器。需要手动填写三个提示才能继续部署。但是,它们不能一个接一个地填写。这些字段出现的顺序非常奇怪。首先,它要求输入密码和确认信息(两个字段相互跟随)。然后,OpenVPN 脚本完成它的工作,然后需要一个 FQDN 来生成我相信的证书。
所以:我想知道我是否可以告诉expect
为字段 X 填写值 X,一旦出现输入字段 Y,填写值 Y。换句话说,我可以告诉expect
自动识别输入提示并相应地填写它们吗?
我正在尝试自动部署 Docker 容器。需要手动填写三个提示才能继续部署。但是,它们不能一个接一个地填写。这些字段出现的顺序非常奇怪。首先,它要求输入密码和确认信息(两个字段相互跟随)。然后,OpenVPN 脚本完成它的工作,然后需要一个 FQDN 来生成我相信的证书。
所以:我想知道我是否可以告诉expect
为字段 X 填写值 X,一旦出现输入字段 Y,填写值 Y。换句话说,我可以告诉expect
自动识别输入提示并相应地填写它们吗?
当然,这就是expect的目的。
exp_continue
命令是这里的关键:当然,您必须更改引用的模式,以便它们与您的实际情况相匹配。
使用这种结构,模式可以以任何顺序匹配。图案甚至根本不必出现。
当看到“一些其他模式”时,由于没有与之关联的动作块,它会触发包含的期望命令的结束,并且脚本的其余部分可以继续。
要让期望能够控制一个进程,您必须从期望中启动该进程。尝试这个: