2007-11-01 Jim Meyering <meyering@redhat.com>
+ Say that the first process substitution example is contrived.
+ * doc/coreutils.texi (tee invocation): ... and show how to do
+ it properly. Pointed out by James Antill.
+
Use mktemp, not mkdtemp, to create test directories.
* tests/test-lib.sh: Use the mktemp binary we've just built,
not the mkdtemp script.
free, because the entire process parallelizes so well:
@example
+# slightly contrived, to demonstrate process substitution
wget -O - http://example.com/dvd.iso \
| tee >(sha1sum > dvd.sha1) > dvd.iso
@end example
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}.
+Since the above example writes to one file and one process,
+a more conventional and portable use of @command{tee} is even better:
+
+@example
+wget -O - http://example.com/dvd.iso \
+ | tee dvd.iso | sha1sum > dvd.sha1
+@end example
+
You can extend this example to make @command{tee} write to two processes,
-computing MD5 and SHA1 checksums in parallel:
+computing MD5 and SHA1 checksums in parallel. In this case,
+process substitution is required:
@example
wget -O - http://example.com/dvd.iso \