From: Jim Meyering Date: Thu, 1 Nov 2007 20:25:28 +0000 (+0100) Subject: Say that the first process substitution example is contrived. X-Git-Tag: v6.9.89~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e556eaa59edf8dfecc763fb13cf288fb1b4d3a40;p=thirdparty%2Fcoreutils.git 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. --- diff --git a/ChangeLog b/ChangeLog index cfb5c79cba..e39c84e3c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-11-01 Jim Meyering + 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. diff --git a/doc/coreutils.texi b/doc/coreutils.texi index aa25fcd080..9c960a57e0 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -11076,6 +11076,7 @@ and SHA1 computation. Then, you'll get the checksum for 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 @@ -11093,8 +11094,17 @@ 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}. +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 \