summaryrefslogtreecommitdiff
path: root/doc/forstdin.html
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2020-11-24 11:26:35 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2020-11-24 11:26:35 +0000
commit680b08a9d69fcb3582203ca5e1e6f0ba88fea9e0 (patch)
treee81ba779f78f75a2683f06c2ff70737bdfbf1388 /doc/forstdin.html
parent8d67429c8b37415b04ec195dab9bdbcec8ec013a (diff)
downloadexecline-680b08a9d69fcb3582203ca5e1e6f0ba88fea9e0.tar.xz
Better forstdin
No need for the complexity: the important distinction is between "eof after reading something" and "eof right away". 0 is a natural fit for eof after some data, and 1 is a natural fit for immediate eof. Anything else can be scripted around this.
Diffstat (limited to 'doc/forstdin.html')
-rw-r--r--doc/forstdin.html11
1 files changed, 7 insertions, 4 deletions
diff --git a/doc/forstdin.html b/doc/forstdin.html
index c7cc3d4..44939fe 100644
--- a/doc/forstdin.html
+++ b/doc/forstdin.html
@@ -30,7 +30,7 @@ run another program.
</p>
<pre>
- forstdin [ -p | -o <em>okcodes</em> | -x <em>breakcodes</em> ] [ -e eofcode ] [ -n ] [ -C | -c ] [ -0 | -d <em>delim</em> ] <em>variable</em> <em>loop...</em>
+ forstdin [ -p | -o <em>okcodes</em> | -x <em>breakcodes</em> ] [ -E firsteofcode ] [ -e eofcode ] [ -n ] [ -C | -c ] [ -0 | -d <em>delim</em> ] <em>variable</em> <em>loop...</em>
</pre>
<ul>
@@ -39,7 +39,8 @@ run another program.
<li> For every argument <em>x</em> in the split output,
<tt>forstdin</tt> runs <em>loop...</em> as a child process, with
<em>variable</em>=<em>x</em> added to its environment. </li>
- <li><tt>forstdin</tt> then exits 0.
+ <li><tt>forstdin</tt> then exits 0 if it has read something on stdin,
+and 1 if it hasn't read anything. </li>
</ul>
<h2> Options </h2>
@@ -63,8 +64,10 @@ not listed in <em>okcodes</em>, forstdin will exit immediately with an
option, but with inverted meaning - the listed exit codes are codes
that will make forstdin break the loop and exit, and the unlisted exit
codes will make it keep looping. </li>
- <li> <tt>-e</tt>&nbsp;<em>eofcode</em>&nbsp;: if forstdin reads EOF,
-exit <em>eofcode</em>. Default is 0. </li>
+ <li> <tt>-E</tt>&nbsp;<em>firsteofcode</em>&nbsp;: if forstdin encounters
+EOF on its first attempt to read data, exit <em>firsteofcode</em>. Default is 1. </li>
+ <li> <tt>-e</tt>&nbsp;<em>eofcode</em>&nbsp;: if forstdin has already
+read data, and encounters EOF, exit <em>eofcode</em>. Default is 0. </li>
<li> Other options are used to <a href="el_transform.html">control
the substitution mechanism</a> for every <em>x</em>. Of course, you can't
split <em>x</em>. The default delimiter for <tt>forstdin</tt> is a