[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Pipes & ExecResult/ReturnsZero
From: |
Martin, Jason H |
Subject: |
RE: Pipes & ExecResult/ReturnsZero |
Date: |
Wed, 30 Nov 2005 08:11:02 -0800 |
Should that quoting style work with older releases? When I use that in a
2.1.14/Solaris config, it blows up:
root_homedir = ( ExecResult("/bin/sh -c \"/usr/bin/grep root:
/etc/passwd | /usr/bin/awk -F: '{print $6}'\"") )
cf:cfengine::/var/cfengine/inputs/cfagent.conf:661: ExecResult(/command)
must specify an absolute path
In any case, I suggest adding an ShellCommandExecResult function as it
would be consistent with the existence of a ShellCommandReturnsZero
functipon.
Thank you,
-Jason Martin
> -----Original Message-----
> From: Mark.Burgess@iu.hio.no [mailto:Mark.Burgess@iu.hio.no]
> Sent: Tuesday, November 29, 2005 10:54 PM
> To: Martin, Jason H
> Cc: help-cfengine@gnu.org
> Subject: Re: Pipes & ExecResult/ReturnsZero
>
>
> > Is it expected that pipe characters will continue to work in
> > ExecResult even though they no longer work in ReturnsZero?
> ExecResult
> > still honors pipe characters inside double-quotes, while
> ReturnsZero
> > only honors them inside single quotes.
> >
> > localdate = ( ExecResult(/bin/sh -c "/bin/date | grep 2005") )
> >
> > Whereas ReturnsZero requires opposite quoting to work with pipes
> > properly:
> > ResolvesX = ( ReturnsZero(/bin/sh -c 'nslookup "some.example.com"
> > 2>&1
> > | grep 169.254.1.1 >/dev/null') )
> >
> > It seems inconsistent to make these two functions require opposite
> > quoting. Was this intended, or will there be a
> ShellCommandExecResult
> > in the future?
> >
> > Thank you,
> > -Jason Martin
> >
> >
>
> The quopting is the same, but neither of the fnuctions uses a
> shell. I made an ExecShellResult function for convenience. We
> could do the same for RetrunsZero is necessary. The quoting I
> recommend however (latest patchr
> eleases) is to always have quotes around the shell string and
> to backslash quptes inside them
>
> Func("/bin/sh -c \"my string\"")
>
> M
>
>
- RE: Pipes & ExecResult/ReturnsZero,
Martin, Jason H <=