Geoff Clare via austin-group-l at The Open Group wrote in
 <Z9mxbpQol5ASbdDN@localhost>:
 |Harald van Dijk wrote, on 18 Mar 2025:
 |>
 |> On 18/03/2025 14:45, Geoff Clare via austin-group-l at The Open Group \
 |> wrote:
 |>> Those shells also print "hello" without the redirection:
 |>> 
 |>> $ sh -c 'set +m; echo hello | { cat & wait; }'  # sh here is bash
 |>> hello
 |>> $ ksh93u+m -c 'set -o posix; set +m; echo hello | { cat & wait; }'
 |>> hello
 |>> 
 |>> So this has nothing to do with 0<&0 - it's a non-conformance with the
 |>> non-job-control asynchronous AND-OR list requirements in some
 |>> circumstances.
 |> 
 |> Huh, so they do.
 |> 
 |> bosh also does the same.
 |> 
 |> If bash, ksh, bosh all do the same thing, but POSIX specifies another \
 |> thing,
 |> is there a rationale somewhere explaining why?
 |
 |I can't think of any reason they would deliberately behave that way, so
 |unless one of the shell authors can come up with some justification, I'm
 |going to consider it a bug.
 |
 |> But still, in bash, 0<&0 really does have this effect. Here is a \
 |> better test
 |> case:
 |> 
 |>   $ bash -o posix -c 'cat & wait'
 |>   <immediately exits>
 |>   $ bash -o posix -c 'cat 0<&0 & wait'
 |>   <waits for stdin>
 |
 |Okay, looks like we'll need Chet's input on this part.

.. on a side note for the interested reader:

  $ cat
  cat: -: input file is output file

  $ pkginfo -o $(command -v cat)
  Package    File
  coreutils  bin/cat

  $ prt-get info coreutils
  Name:         coreutils
  ...
  URL:          https://www.gnu.org/software/coreutils/
  ...

So on Linux you better say "cat /dev/tty", as even

  $ cat /dev/stdin
  cat: /dev/stdin: input file is output file
  $ ll /dev/stdin
  lrwxrwxrwx 1 root root 15 Mar 17 18:15 /dev/stdin -> /proc/self/fd/0

does not work no more.  That is really weird situation for cat(1)
on at least a terminal, and i am happy i am not alone with
expecting it to work.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

  • [1003.1(20... Austin Group Issue Tracker via austin-group-l at The Open Group
  • [1003.1(20... Austin Group Issue Tracker via austin-group-l at The Open Group
  • [1003.1(20... Austin Group Issue Tracker via austin-group-l at The Open Group
    • Re: [... Harald van Dijk via austin-group-l at The Open Group
      • R... Geoff Clare via austin-group-l at The Open Group
        • ... Harald van Dijk via austin-group-l at The Open Group
          • ... Geoff Clare via austin-group-l at The Open Group
            • ... Harald van Dijk via austin-group-l at The Open Group
              • ... Geoff Clare via austin-group-l at The Open Group
              • ... Harald van Dijk via austin-group-l at The Open Group
              • ... Steffen Nurpmeso via austin-group-l at The Open Group
              • ... Chet Ramey via austin-group-l at The Open Group
            • ... Chet Ramey via austin-group-l at The Open Group
          • ... Chet Ramey via austin-group-l at The Open Group
        • ... Lawrence Velázquez via austin-group-l at The Open Group
          • ... Harald van Dijk via austin-group-l at The Open Group
  • [1003.1(20... Austin Group Issue Tracker via austin-group-l at The Open Group
  • [1003.1(20... Austin Group Issue Tracker via austin-group-l at The Open Group
  • [1003.1(20... Austin Group Issue Tracker via austin-group-l at The Open Group
  • [1003.1(20... Austin Group Issue Tracker via austin-group-l at The Open Group
  • Fwd: Re: [... Chet Ramey via austin-group-l at The Open Group

Reply via email to