Skip site navigation (1)Skip section navigation (2)
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>