Phing — передача пароля из сценария оболочки в svn

Я не хочу, чтобы мой сценарий развертывания Phing отображал введенные пароли в виде открытого текста, поэтому я пытаюсь создать сценарий оболочки, который читает пароль без отображения введенных символов.

Мой сценарий выглядит так:

#!/bin/bash
read -s -p "" password;
echo "$password"

(Кстати: это решение благодаря комментарию, опубликованному кем-то на трекере билетов Phing: https://www.phing.info/trac/ticket/885)

Это работает нормально, если я вызываю его прямо из командной строки, например так:

svn up --username myusername --password `/bin/bash /path/to/script/getpassword.sh`

Он также работает из Phing, если пароль не содержит специальных символов. Как ни странно, это приводит к ошибке аутентификации SVN, если я ввожу свой пароль, который содержит знак хеша (#). Я не могу воспроизвести это поведение из командной строки, как в примере выше.

Вот часть Phing:

    <propertyprompt propertyname="svn.user" prompttext="Please tell me your svn username:"/>
<echo>"Please tell me your svn password:[]</echo>
<exec command="sh ${application.startdir}/path/to/script/getpassword.sh" outputProperty="svn.pass" />

<svnupdate
svnpath="/usr/bin/svn"username="${svn.user}"password="${svn.pass}"nocache="true"todir="${path-checkout}"/>

Кто-нибудь понял, что может быть причиной этой проблемы? Я пролистал источники в PEAR/pear/php/phing/tasks/ext/svn но не нашел ничего подозрительного.

Спасибо заранее за любые предложения!

1

Решение

Вы пытались использовать echo -n, чтобы не печатать завершающий символ новой строки?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]