Ich versorge eine virtual machin
e mit Vagrant
. Das ist mein Vagrant Ausgang, Debug Modus für meine Shell
Skript:Warum funktioniert meine Sed Operation nicht?
==> 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
Es scheint zu funktionieren gut, aber wenn ich die Datei überprüfen, die angeblich geändert werden sollte, ist es leer!
<property name="keyStorePassword" value="" />
Das ist mein Shell-Skript:
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
}
Das Komische ist, dass, wenn ich das gleiche Skript lokal versuchen, es funktioniert, aber nicht, wenn ich versuche, es mit Vagrant während Bereitstellung zu verwenden.
Irgendwelche Vorschläge? :)
Es scheint, die Variable ist leer, obwohl es in der Debug angezeigt wird. Gibt das Echo einen Wert zurück? – 123