Date:        Thu, 23 May 2024 05:57:05 +0300
    From:        =?UTF-8?B?T8SfdXo=?= <oguzismailuy...@gmail.com>
    Message-ID:  
<cah7i3lowwzcnp-pcqamw6+ggkdoa6zi41p2pi98fpzhxyfp...@mail.gmail.com>

  | On Thu, May 23, 2024 at 2:49 AM Steffen Nurpmeso <stef...@sdaoden.eu> wrote:
  | > Only to note that this is not portable.
  | Nor will NetBSD sh.

That's right, and this is expressly unspecified in POSIX.

But I think this aspect is missing the point of the OP's message,
which might have been better illustrated without stepping into
unspecified behaviour using

        $SHELL -x -c 'x=1 y=2'

I can see the point, this is two var-assigns on a single (empty)
command, not two commands, which

        $SHELL -x -c 'x=1 ; y=2'

would be (and which is fully specified to be each fully executed
before the next is started, avoiding the other issue).

As a comparison consider

        $SHELL -x -c 'x=1 y=2 :'

which the first above is almost equivalent to (the difference is
the exit status should there be any command substitutions involved).

However, I don't really see that this should matter all that much.
(-x output is not specified anywhere, just that it happens).

kre

Reply via email to