diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2022-01-01 18:08:15 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2022-01-01 18:08:56 -0800 |
commit | d405fa2ec63b0e4ebb9f84d1a4b2a6de63b2d26d (patch) | |
tree | d8c51583368d5e232cfec83f1eb9288fb1520257 | |
parent | 407d5955f06523d464f40c118d326de3cf1ee3b9 (diff) | |
download | autoconf-d405fa2ec63b0e4ebb9f84d1a4b2a6de63b2d26d.tar.gz |
doc: document BusyBox sed w bug
-rw-r--r-- | doc/autoconf.texi | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 17a6326e..04730dcc 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -20170,6 +20170,30 @@ s/.*/deleted/g :end @end example +@item @command{sed} (@samp{w}) +@c --------------------------- +@prindex @command{sed} (@samp{w}) + +When a script contains multiple commands to write lines to the same +output file, BusyBox @command{sed} mistakenly opens a separate output +stream for each command. This can cause one of the commands to ``win'' +and the others to ``lose'', in the sense that their output is discarded. +For example: + +@example +sed -n -e ' + /a/w xxx + /b/w xxx +' <<EOF +a +b +EOF +@end example + +This might output only @samp{a} to @file{xxx}; the @samp{b} is lost. +To avoid the problem, a portable script should contain at most one +@samp{w} or @samp{s/.../.../w} command per output file. + @item @command{sleep} @c ------------------ @prindex @command{sleep} |