| This article is ratedStart-class on Wikipedia'scontent assessment scale. It is of interest to the followingWikiProjects: | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
I thinkrc originally invented this, but all you see in this article is bash. Can we get some verification that rc was the first?
82.0.106.250 (talk)18:15, 14 January 2014 (UTC)[reply]
No, process substitution was in the Korn shell (already in ksh88) before rc (and bash of course). It's possible it was in zsh before bash (it was in zsh-0.03, not in bash 1.05), but it's hard to get information on earlier versions of those shells.
This page is also wrong in that it doesn't use named pipes but /dev/fd/n. (in ksh, process substitution only worked on systems with /dev/fd/n, bash and zsh are able to resort to named pipes when /dev/fd/n is not available).
zsh also has a 3rd form of process substitution that uses temp files (=(...)).
Also, processes run concurrently, it's not different than when using `|`. process substitution can also be done by hand in Bourne-like shells with things like:
{cmd13<&-|{cmd2|diff/dev/fd/4/dev/fd/0}4<&0<&33<&-}3<&0