Andres Perera <[email protected]> wrote:

>On Mon, Dec 17, 2012 at 7:07 PM, Alexander Hall <[email protected]>
>wrote:
>>
>> For scripting, echo is one of the commands I tend to avoid unless I
>know the
>> data is "safe", because of it's horrific argument parsing.
>>
>> I've yet to find a way to echo a single '-n' using the sh/ksh
>builtin. When
>> printing unknown data, I usually end up using 'print -r -- "$var"'
>(or
>> 'printf "%s" "$var"' if I care about portability).
>>
>> /Alexander
>>
>
>the worrysome part is what happens with make:
>
>andres@pote:~ $ echo '/nonexsistent:;@echo -e hello' | make -f- | vis
>-e hello\$
>andres@pote:~ $ echo '/nonexsistent:;@echo -e hello;' | make -f- | vis
>hello\$
>
>this is due to the optimization to fork+exec instead of shell when
>there are no meta characters. the second makefile has `;', so the
>optimization doesn't get triggered
>
>what is the problem? 2 echos that disagree or the optimization itself?
>are the calls coming from *INSIDE* the house?

I don't think make should optimize this, but recognize echo as a shell builtin.

Right, Marc?

/Alexander

Reply via email to