From: Steffen Nurpmeso <steffen@sdaoden.eu>
To: markus schnalke <meillo@marmaro.de>
Cc: tuhs@tuhs.org
Subject: Re: [TUHS] sh: cmd | >file
Date: Fri, 03 Jan 2020 15:00:55 +0100 [thread overview]
Message-ID: <20200103140055.XB8iT%steffen@sdaoden.eu> (raw)
In-Reply-To: <1inMKv-0Km-00@marmaro.de>
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)
next prev parent reply other threads:[~2020-01-03 14:01 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 [this message]
2020-01-03 17:03 ` Brian Zick
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=20200103140055.XB8iT%steffen@sdaoden.eu \
--to=steffen@sdaoden.eu \
--cc=meillo@marmaro.de \
--cc=tuhs@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).