将输入传递给Ant的<exec>任务</exec>

时间:2010-05-06 15:43:03

标签: ant

我有一个Ant脚本在输入一个输入密码后运行一个标准的任务:

<input message="Password:" addproperty="password">
<handler classname="org.apache.tools.ant.input.SecureInputHandler" />
</input>

<exec executable="/bin/sh" input="${password}" failonerror="true">
    <arg line='-c "myScript.sh"' />
</exec>

脚本myScript.sh提示用户输入密码,而且我的理解是,从Ant文档中 input 应该将中继输入转换为<exec>任务执行的任何内容,但我得到(输入密码foobar)

[exec] Failed to open /usr/local/foobar

后面是我的脚本中的堆栈跟踪,抱怨密码错误...所以显然我已经理解了文档错误。有人知道如何处理Ant中外部脚本的提示输入吗?

1 个答案:

答案 0 :(得分:5)

input="${password}"

这将尝试从文件$ {password}中读取并将内容发送到您的脚本中。尝试使用:

inputstring="${password}"

代替。这将发送字符串本身而不是像文件名一样处理它