The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: "Brian Zick" <brian@zick.io>
To: "Grant Taylor via TUHS" <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] sh:  cmd | >file
Date: Fri, 03 Jan 2020 11:03:07 -0600	[thread overview]
Message-ID: <01d9e48c-2f92-48b9-b4ec-cd29fcfd1fa4@www.fastmail.com> (raw)
In-Reply-To: <20200103140055.XB8iT%steffen@sdaoden.eu>

I'm curious to know if you have a script you used to prove these correct?

B

On Fri, Jan 3, 2020, at 8:00 AM, Steffen Nurpmeso wrote:
> markus schnalke wrote in <1inMKv-0Km-00@marmaro.de>:
>  |Hoi,
> 
> Morsche.
> 
>  |in a computer forum I came across a very long command line,
>  |including `xargs' and `sh -c'. Anyways, throughout the thread
>  |it was modified several times, when accidently a pipe symbol
>  |appeared between the command and the output redirection. The
>  |command line did nothing; it ran successful. I was confused,
>  |because I expected to see a syntax error in case of
>  |``cmd|>file''. This made me wonder ...
>  |
>  |
>  |With help of Sven Mascheck, I was able to clear my understanding.
>  |The POSIX shell grammer provided the answer:
>  ...
>  |A redirection is a (full) simple_command ... and because
>  |``simple_command | simple_command'' is allowed, so is
>  |``io_file | io_file''. This can lead to such strange (but
>  |valid) command lines like:
>  | 
>  | <a | >b 
>  |>b | <a 
>  | 
>  |Sven liked this one:
>  |
>  |:|>: 
>  |
>  |Here some further fun variants:
>  | 
>  |:|:>: 
>  |
>  | <:|:>: 
>  |
>  |They would provide nice puzzles. ;-)
>  ...
>  |- Syntax ok in these shells:
>  |
>  |SVR2 sh (Ultrix), SVR4 sh (Heirloom)
> 
> Be aware of spurious :> errors in Heirloom shell, and maybe its
> origin (never had those).  It is why the unit test of my little
> web site builder thing has been switched to "printf '' > FILE".
> 
>  |ksh93
>  |bash-1.05, bash-aktuell
>  |pdksh-5.2.14
>  |ash-0.4.26, dash-0.5.6.1
>  |posh-0.3.7, posh-0.12.3
>  |mksh-R24, mksh-R52b
>  |yash-2.29
>  |zsh-3.0.8, zsh-4.3.17
>  |
>  |- Exception to the rule:
>  |
>  |7thEd sh:
>  |
>  |    # pwd|>>file
>  |    # echo $?
>  |    141
>  |
>  |On first sight ok, but with a silent error ... SIGPIPE (128+13).
>  |
>  |I'd be interested in any stories and information around this
>  |topic.
>  |
>  |What about 7thEd sh?
> 
>   Beware of bugs in the above code; I have only proved it correct,
>   not tried it.
> 
>  |meillo
>  --End of <1inMKv-0Km-00@marmaro.de>
> 
> --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)
>

  reply	other threads:[~2020-01-03 17:11 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-03 12:45 markus schnalke
2020-01-03 14:00 ` Steffen Nurpmeso
2020-01-03 17:03   ` Brian Zick [this message]
2020-01-03 17:18     ` markus schnalke
2020-01-04  0:53       ` Sven Mascheck via TUHS
2020-01-04 20:41         ` Steffen Nurpmeso
2020-01-03 19:38 ` markus schnalke
2020-01-03 19:44   ` Warner Losh
2020-01-03 22:49     ` Michael Parson
2020-01-03 23:32   ` Dave Horsfall
2020-01-04  2:58 Doug McIlroy
2020-01-04 10:07 ` markus schnalke
2020-01-04 11:47   ` Robert Clausecker
2020-01-04 22:31     ` Chet Ramey
2020-01-04 21:02   ` Dave Horsfall
2020-01-04 21:06     ` Jon Steinhart
2020-01-05  0:03       ` Eric Allman
2020-01-05  1:49         ` Adam Thornton
2020-01-05  2:44           ` Chet Ramey
2020-01-05  8:15             ` Brantley Coile
2020-01-05 15:16               ` Chet Ramey
2020-01-04 21:11     ` Dave Horsfall
2020-01-04 21:39       ` Warner Losh
2020-01-04 22:19         ` Terry Jones
2020-01-04 22:33           ` Chet Ramey
2020-01-04 23:53             ` Dave Horsfall
2020-01-05  0:04               ` Andreas Kusalananda Kähäri
2020-01-05  2:41               ` Chet Ramey
2020-01-05 13:45                 ` Sven Mascheck via TUHS
2020-01-05 15:18                   ` Chet Ramey
2020-01-05 21:21                 ` Dave Horsfall
2020-01-06 13:53                   ` Chet Ramey
2020-01-06 15:42                     ` Brantley Coile
2020-01-06 15:46                       ` arnold
2020-01-06 16:13                         ` Clem Cole
2020-01-06 20:44                           ` arnold
2020-01-06 20:51                             ` Steve Nickolas
2020-01-06 21:32                             ` Clem Cole
2020-01-06 21:39                               ` Brad Spencer
2020-01-06 21:29                         ` Dave Horsfall
2020-01-06 21:55                           ` Chet Ramey
2020-01-06 22:22                             ` Dave Horsfall
2020-01-06 22:52                             ` Dan Cross
2020-01-07  0:50                             ` Adam Thornton
2020-01-06 22:10                           ` Bakul Shah
2020-01-04 22:44           ` markus schnalke
2020-01-04 23:01             ` Terry Jones
2020-01-04 22:22         ` Dave Horsfall
2020-01-06  3:24 Brian Walden
2020-01-06 15:42 ` Richard Salz
2020-01-06 15:45   ` Brantley Coile
2020-01-06 16:11 Brian Walden
2020-01-06 16:33 ` Clem Cole
2020-01-06 19:47 Doug McIlroy
2020-01-07  4:49 Brian Walden
2020-01-07  5:03 Brian Walden

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01d9e48c-2f92-48b9-b4ec-cd29fcfd1fa4@www.fastmail.com \
    --to=brian@zick.io \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).