gpt4 book ai didi

bash - 为什么我的 sed 操作不起作用?

转载 作者:行者123 更新时间:2023-11-29 09:15:07 24 4
gpt4 key购买 nike

我正在使用 Vagrant 配置一个虚拟机。这是我的 Vagrant 输出,调试 模式,用于我的 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 提供期间尝试使用它时却无效。

有什么建议吗? :)

最佳答案

在这里,试试这个:
sed -i "s/<property name=\"keyStorePassword\" value=\"password\" \/>/<property name=\"keyStorePassword\" value=\"${kpass}\" \/>/" /opt/activemq/conf/jetty.xml

如果它不起作用,请尝试替换值 ${kpass}带有一些测试文本。

关于bash - 为什么我的 sed 操作不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37271148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com