Daniela
2011-Aug-01 12:25 UTC
[Puppet Users] running shell command including parenthesis for custom fact
Hi,
I''m trying to retrieve a configuration value from a local file in a
custom fact. I''m having some problems with this though. I hope,
someone can point me to the right direction.
My configuration file looks something like this:
cat /tmp/example.properties
my.application.wsdl.url=http://myserver.mydomain.de:8080/path/to/
application?wsdl
My custom fact would have a line like this:
myserver=%x{cat /tmp/example.properties| sed -n "s|
my.application.*http://\(.*\):.*|\1|p" }.chomp
Unfortunatley this doesn''t work. The custom fact returns an undefined
variable. It seems to me, that the cause is a combination of the use
of parenthesis and/or backslashes and the %x operator, because
irb(main):001:0> s = system ''cat /tmp/example.properties | sed -n
"s|
my.application.*http://\(.*\):.*|\1|p"''
myserver.mydomain.de
=> true
is working.
irb(main):006:0> s = %x[ cat /tmp/example.properties | sed -n "s|
application|\1|p" ]
=> "my.\001.wsdl.url=http://myserver.mydomain.de:8080/path/to/
application?wsdl\n"
is working (at least I get a result).
irb(main):004:0> s = %x[ cat /tmp/example.properties | sed -n "s|
my.application.*http://\(.*\):.*|\1|p" ]
=> ""
is not working
I tried removing and doubling the backslashes to no avail.
Does someone have an idea, what I''m doing wrong or what other approach
would be possible?
Thanks in advance, Daniela
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
Daniela
2011-Aug-02 09:32 UTC
[Puppet Users] Re: running shell command including parenthesis for custom fact
Hi, I''ve found the solution:> myserver=%x{cat /tmp/example.properties| sed -n "s| my.application.*http://\(.*\):.*|\1|p" }.chompmyserver=%x{cat /tmp/example.properties| sed -n "s| my.application.*http://\\\(.*\\\):.*|\\1|p" }.chomp Regards, Daniela -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.