In a config file, I'm trying to replace PREFIX=/jenkins
with, say, PREFIX=/foobar
.
On the (bash) command line, this works fine:
sed -i.bak s/PREFIX=\\/jenkins/PREFIX=\\/foobar/g /etc/default/jenkins
However, in a Puppet script (.pp file):
exec { 'Change-prefix':
command => "sed -i.bak s/PREFIX=\\/jenkins/PREFIX=\\/foobar/g /etc/default/jenkins",
path => ["/bin"],
}
produces:
err: /Stage[main]//Exec[Change-prefix]/returns: change from notrun to 0 failed:
sed -i.bak s/PREFIX=\/jenkins/PREFIX=\/foobar/g /etc/default/jenkins
returned 1 instead of one of [0]
How to escape the sed command properly? Or is something else the matter?
I also tried with \\\/
, but that yields: warning: Unrecognised escape sequence '\/'