Передача ввода в задачу Ant <exec> - PullRequest
6 голосов
/ 06 мая 2010

У меня есть скрипт 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 Ответ

5 голосов
/ 06 мая 2010
input="${password}"

Это попытается прочитать файл $ {пароль} и отправить содержимое в ваш скрипт. Попробуйте использовать:

inputstring="${password}"

вместо этого. Это отправит саму строку вместо того, чтобы рассматривать ее как имя файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...