Date: Fri, 31 May 2013 21:05:53 +0100 From: Chris Rees <utisoft@gmail.com> To: Dan Nelson <dnelson@allantgroup.com> Cc: rank1seeker@gmail.com, Reid Linnemann <linnemannr@gmail.com>, FreeBSD Hackers <hackers@freebsd.org>, Jilles Tjoelker <jilles@stack.nl> Subject: Re: /bin/sh => STDIN & functions, var scope messing Message-ID: <CADLo838zv24BzAkGawPH8HGdiHVQ6PENP17v0AR%2BY2d5vD9QDw@mail.gmail.com> In-Reply-To: <20130531194703.GC5410@dan.emsphone.com> References: <20130527.194235.693.1@DOMY-PC> <CA%2B0MdpOcz7aw03HCrbxZVt1cnWdR4shqWaEfBrQkCpPnbgXLPQ@mail.gmail.com> <CAKw7uVjty2cJXT_QmexxKdRQyiKoHYMK1E-TjSHa5TCX1S8Bbg@mail.gmail.com> <20130530223031.GA1672@stack.nl> <20130531.175959.745.2@DOMY-PC> <13CA24D6AB415D428143D44749F57D7201F6AD11@ltcfiswmsgmb21> <CA%2B0MdpP6JKMyoQCTDihCRSqHHVDfy1w3ip%2BqWhFgXRqfMYODow@mail.gmail.com> <20130531194703.GC5410@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 31 May 2013 20:50, "Dan Nelson" <dnelson@allantgroup.com> wrote: > > In the last episode (May 31), Reid Linnemann said: > > On Fri, May 31, 2013 at 1:12 PM, Teske, Devin <Devin.Teske@fisglobal.com >wrote: > > > If you're arguing we have to change sh's behavior to be more compliant, > > > jilles already quoted XCU 2.12 (our shell is well within its right to > > > run any/all lvalue/rvalue operands of a pipe in a sub-shell without > > > contradicting the guidelines). > > > > > > But if you're arguing that it has to change to make things better or > > > easier... I don't know about that. Might just make people lulled into > > > using a style that's non-portable. I'd like to keep things the way they > > > are so that if you program for FreeBSD, you're inherently going to > > > program in a fashion that is more portable. > > > > FWIW bash (invoked as sh) on RHEL-based linux systems exhibits the same > > behavior- > > > > sh-3.2$ var=1 > > sh-3.2$ yes|var=2 > > sh-3.2$ echo $var > > 1 > > sh-3.2$ > > > > If my opinion matters at all, I would agree that for the sake of > > portability that behavior be consistent with the majority of sh > > implementations rather than "right" according to arbitrary ruling. > > On the other hand, zsh runs the last component of a pipeline in the parent > shell. The usual model is "do work in pipeline, process results in final > component", and being able to simply set variables there that can be used in > the rest of the script is very elegant. Right... But it's not portable. Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLo838zv24BzAkGawPH8HGdiHVQ6PENP17v0AR%2BY2d5vD9QDw>