help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using && in commands


From: Noel Yap
Subject: Re: Using && in commands
Date: Thu, 06 Nov 2003 17:47:47 -0500

IIRC, make will spawn a shell for the sed command due to to '>' in the command 
line.  I believe make will then fork/exec for the mv command.  Since make is 
already shelling out for the sed command, I see no reason not to use that shell 
to do the
conditional mv as well.

If you're worried about legibility, you could write the rule as:

foo:
        sed ... > /tmp/x  && \
        mv /tmp/x y

HTH,
Noel

Robert Mecklenburg wrote:
> 
> I have often used the shell && operator in commands run from make:
> 
> foo:
>         sed ... > /tmp/x && mv /tmp/x y
> 
> but I am now questioning the value of this.  Obviously, the above mv
> is executed only if sed returns success so it "protects" y from
> accidental clobbering.  However, isn't that exactly what this does:
> 
> foo:
>         sed ... > /tmp/x
>         mv /tmp/x y
> 
> If sed's exit status is non-zero make will not perform the mv -- even
> with the -k flag.  Of course, it will perform the mv with the -i
> flag, but that is virtually never used.
> 
> Assuming the -i flag isn't used (or .SILENT: etc.), is one form
> preferred over the other?  Right now I prefer the second form.
> 
> Comments?
> --
> Robert
> 
> _______________________________________________
> Help-make mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/help-make

-- 
NOTICE: If received in error, please destroy and notify sender.  Sender does 
not waive confidentiality or privilege, and use is prohibited.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]