mirror of
https://github.com/coreutils/coreutils.git
synced 2024-11-27 12:04:25 +08:00
doc: give a tee example for combining process substitution outputs
This can be useful if you want to further process data from process substitutions. For example: datagen | tee >(md5sum --tag) > >(sha256sum --tag) | sort * doc/coreutils.texi (tee invocation): Mention that -p is useful with pipes that may not consume all data. Add an example, similar to the one above. * THANKS.in: Add Jirka Hladky.
This commit is contained in:
parent
56d3269207
commit
c7f049c503
@ -299,6 +299,7 @@ Jesse Thilo jgt2@eecs.lehigh.edu
|
||||
Jie Xu xuj@iag.net
|
||||
Jim Blandy jimb@cyclic.com
|
||||
Jim Dennis jimd@starshine.org
|
||||
Jirka Hladky jhladky@redhat.com
|
||||
Joakim Rosqvist dvljrt@cs.umu.se
|
||||
Jochen Hein jochen@jochen.org
|
||||
Joe Orton joe@manyfish.co.uk
|
||||
|
@ -13019,6 +13019,11 @@ so it works with @command{zsh}, @command{bash}, and @command{ksh},
|
||||
but not with @command{/bin/sh}. So if you write code like this
|
||||
in a shell script, be sure to start the script with @samp{#!/bin/bash}.
|
||||
|
||||
Note also that if any of the process substitutions (or piped stdout)
|
||||
might exit early without consuming all the data, the @option{-p} option
|
||||
is needed to allow @command{tee} to continue to process the input
|
||||
to any remaining outputs.
|
||||
|
||||
Since the above example writes to one file and one process,
|
||||
a more conventional and portable use of @command{tee} is even better:
|
||||
|
||||
@ -13087,6 +13092,17 @@ tar chof - "$tardir" \
|
||||
| bzip2 -9 -c > your-pkg-M.N.tar.bz2
|
||||
@end example
|
||||
|
||||
If you want to further process the output from process substitutions,
|
||||
and those processes write atomically (i.e., write less than the system's
|
||||
PIPE_BUF size at a time), that's possible with a construct like:
|
||||
|
||||
@example
|
||||
tardir=your-pkg-M.N
|
||||
tar chof - "$tardir" \
|
||||
| tee >(md5sum --tag) > >(sha256sum --tag) \
|
||||
| sort | gpg --clearsign > your-pkg-M.N.tar.sig
|
||||
@end example
|
||||
|
||||
@exitstatus
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user