Knut Auvor Grythe wrote:
> On Mon, Aug 15, 2005 at 10:29:34AM +1200, Steve Wray wrote:
>
>>I get the feeling that the problem is somehow in the way that cfengine
>>parses the parentheses, even though they are within double quotes,
>>passed to a shell.
>
>
> You're probably right. I believe cfengine ignores these quotes, since
> they are not meant to be parsed by cfengine anyway. I am only surprised
> that the remainder of the string is not causing a parse error. I think
> it ought to barf on that if our assumptions about the parser are
> correct.
>
> It might help to quote the entire string. Like this:
>
> someresult = ( ExecResult("/bin/sh -c '/bin/echo baz|/bin/sed -e
> \"s/^\(.*\)$/&.conf/g\"'"
>
> That way cfengine should read this as a single string all the way to the
> next unescaped double quote (and naturally unescape the quotes inside
> when running the command).Interestingly, this does seem to generate a parse error: cf:cfengine::./testing.cf:24: ExecResult(/command) must specify an absolute path cfengine::./testing.cf:24: Warning: Redefinition of macro someresult=$/&.conf/g\"'" (or perhaps missing quote) cf:cfengine::./testing.cf:26: syntax error I've come across this before; it almost looks as if cfengine is assigning a value to $(someresult) twice. > Older versions of cfengine seem to not like quoting of the entire > string, but this seems to be fixed in newer versions. Upgrading might be > worth a shot if you're still on an older version. I'm seeing this on the version I d/l'd and compiled on Saturday... 2.1.15 > I assume the missing -c to /bin/sh and the unnecessary parentheses in > the regex occured when creating a simplified example, and that they are > unrelated to the problem. But you might want to check for them in the > real problem as well. the -c yes, but I'm not sure what you mean by 'unecessary parentheses'. They are required for the '&' reference to work. -- "Politics is the art of looking for trouble, finding it, misdiagnosing it, and then misapplying the wrong remedies." - Groucho Marx
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Help-cfengine mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-cfengine
