【发布时间】:2016-05-17 08:41:19
【问题描述】:
我正在使用Vagrant 配置virtual machine。
这是我的 Vagrant 输出,debug 模式,用于我的 Shell 脚本:
==> mom1: + enable_https
==> mom1: ++ cat /etc/letsencrypt/live/mom.anevis.solutions/.kpass
==> mom1: + local password=kvnilcFqq+sXmLlonoK1dM=
==> mom1: + sed -i 's,<property name="keyStorePassword" value="password" />,<property name="keyStorePassword" value="kvnilcFqq+sXmLlonoK1dM=" />,' /opt/activemq/conf/jetty.xml
它似乎工作正常,但是当我检查应该修改的文件时,它是空的!
<property name="keyStorePassword" value="" />
这是我的 Shell 脚本:
enable_https(){
local kpass=$(cat /etc/letsencrypt/live/company.com/.kpass)
sed -i "s,<property name=\"keyStorePassword\" value=\"password\" />,<property name=\"keyStorePassword\" value=\"${kpass}\" />," /opt/activemq/conf/jetty.xml
}
有趣的是,当我在本地尝试相同的脚本时,它可以工作,但当我在 Vagrant 提供期间尝试使用它时就不行了。
有什么建议吗? :)
【问题讨论】:
-
即使它出现在调试中,它也会显示该变量为空。回显它会返回一个值吗?