Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Redirection with multiple coprocs
- X-seq: zsh-workers 12871
- From: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Redirection with multiple coprocs
- Date: Tue, 3 Oct 2000 16:42:36 +0000
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
About a year ago, I wrote:
} coproc tr a-z A-Z
} exec 5>&p ;: descriptor 5 is now the input of tr
} exec 6<&p ;: descriptor 6 is now the output of tr
} coproc sed s/DOG/CAT/ 5>&-
} exec 7>&p ;: descriptor 7 is now the input of sed
} exec 8<&p ;: descriptor 8 is now the output of sed
} coproc exit ;: close p
} cat <&6 >&7 5>&- 7>&- & : tr is now connected to sed
} exec 6<&- 7>&- ;: close shell copies of descriptors
This can of course be shortened as:
coproc tr a-z A-Z
exec 5>&p 6<&p
coproc sed s/DOG/CAT/ <&6 5>&-
exec 6<&- 8<&p
coproc exit
It seems to me that the following should be an even shorter way (or at
least, using fewer descriptors):
coproc tr a-z A-Z
exec 5>&p
coproc sed s/DOG/CAT/ <&p
exec 8<&p
coproc exit
But it doesn't work, because the old coproc descriptors are closed before
the redirection to the new coproc is processed, so sed gets a closed stdin.
How does ksh handle redirecting the coproc descriptors to a new coproc?
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net
Messages sorted by:
Reverse Date,
Date,
Thread,
Author