> 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



_______________________________________________
Help-cfengine mailing list
Help-cfengine@gnu.org
http://lists.gnu.org/mailman/listinfo/help-cfengine

Reply via email to