将Expect与ant构建文件一起使用

时间:2012-08-21 20:49:44

标签: bash ant sh expect

我有一个命令行程序,我正在尝试使用Expect自动与该程序进行交互。该程序通过在构建文件上运行命令“ant runco​​nsole”启动。

我还在一个bash脚本中嵌入了Expect脚本。目前我的代码如下:

#!/bin/bash

cd $HOME/myProj/build

/usr/bin/expect - << EndMark

spawn ant runconsole

EndMark

exit 0

构建它只是将spawn ant runco​​nsole打印到终端。将“ant runco​​nsole”放在引号中会返回“无法执行”ant runco​​nsole“:执行”spawn“时没有这样的文件或目录ant runco​​nsole”“

这是我第一次使用Expect,所以我确定这是一个非常无聊的问题,但我无法在线找到解决方案。我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:1)

正在发生的事情是您正在使用Ant创建Expect会话,但不与它进行交互,因此终止。

您可以稍微修改您的脚本:

/usr/bin/expect - << EndMark
spawn ant -v runconsole
expect
EndMark

运行它,你会看到Ant的一些输出返回。有关如何设置Expect脚本以及与Ant的交互的信息,请参阅spawn wiki pageExpect man page