【问题标题】:Phing - Passing a password from a shell script to svnPhing - 将密码从 shell 脚本传递到 svn
【发布时间】:2015-03-25 15:12:00
【问题描述】:

我不希望我的 Phing 部署脚本以明文形式回显输入的密码,因此我尝试创建一个 shell 脚本来读取密码而不显示输入的字符。

我的脚本如下所示:

#!/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 中的来源,但没有发现任何可疑之处。

提前感谢您的任何建议!

【问题讨论】:

    标签: php bash svn pear phing


    【解决方案1】:

    您是否尝试过使用 echo -n 不打印尾随换行符?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-14
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      相关资源
      最近更新 更多