Re: Probably very stupid script/bash question
On Wed, 05 Mar 2008 12:16:02 -0800
Bob McGowan <email@example.com> wrote:
> Brian wrote:
> > So can you explain exactly what the first < <( echo "$teststring" )
> > does exactly please?
> In any case, I'd be interested in knowing where you found this
The bash man page seems to be one of the few that can be read a
thousand times and /still/ find something new in it each time!
The following extract is from 'man bash' ;-) ,although what it doesn't
make clear is that <(list) is preceeded by '< ', which I guess is why
it's often missed.
Process substitution is supported on systems that support
named pipes (FIFOs) or the /dev/fd method of naming open files. It
takes the form of <(list) or >(list). The process list is run with
its input or out- put connected to a FIFO or some file in /dev/fd. The
name of this file is passed as an argument to the current command as
the result of the expansion. If the >(list) form is used, writing to
the file will pro- vide input for list. If the <(list) form is
used, the file passed as an argument should be read to obtain the
output of list.
When available, process substitution is performed
simultaneously with parameter and variable expansion, command
substitution, and arithmetic expansion.