Bu kabuğa bağımlı ve belgelenmemiş AFAICS. Gelen kshve bash, birinci durumda, fooaynı Stdin paylaşacak bar. Çıkışı için savaşacaklar echo.
Örneğin,
$ seq 10000 | paste - <(tr 1 X)'
1 X
2 X042
3 X043
4 X044
5 X045
[...]
pasteDiğerlerini okurken, diğer tüm metin bloklarını seqçıktılarından okuyan kanıtlar görürsünüz tr.
İle zsh, dış stdin'i alır (bir terminal değilse ve kabuk etkileşimli değilse, bu durumda yönlendirilir /dev/null). ksh(kaynaklandığı yerde) zshve bashproses ikamesi AFAIK'i destekleyen tek Bourne benzeri kabuklardır.
In echo "bla" | bar < <(foo), not bar's stdin çıkış tarafından beslenen boru olacak foo. Bu iyi tanımlanmış bir davranış. Bu durumda, görünür foobireyin Stdin beslenen boru echotümünde ksh, zshve bash.
Her üç mermide de tutarlı bir davranışa sahip olmak ve geleceği kanıtlamak istiyorsanız, davranış belgelenmediği için değişebileceğinden, bunu yazarım:
echo bla | { bar <(foo); }
Emin olmak için foostdin de bir borudur echo(neden bunu yapmak istediğinizi anlayamıyorum). Veya:
echo bla | bar <(foo < /dev/null)
Yapmak için emin foogelmez değil gelen boru okunan echo. Veya:
{ echo bla | bar 3<&- <(foo <&3); } 3<&0
foo'Nin güncel versiyonlarında olduğu gibi dış stdin' e sahip olmak zsh.