Beklediğim cat <(cat)ve cat | cataynı şeyi yapmak: stdin stdout satırları kopyalayın. Anladığım kadarıyla, her ikisi de catbir alt kabukta a yürütecek , alt kabuğun stdout'unu catgeçici bir adlandırılmış boruya yönlendirecek ve daha sonra catmevcut kabukta başka bir parçayı boruya yönlendirilmiş olacaktı.
Bunun yerine, cat <(cat)terminalime yazmama izin verin, ancak giriş satırlarının hiçbiri kopyalanmaz ve ^Dsinyal veremez EOF; cat | catbeklendiği gibi çalışıyor.
Başka bir deney cat =(cat)olarak cat <(cat), benzer zorluklara sahip olup olmadığını kontrol ettim , ancak beklediğim gibi çalışıyor: ^Dbir seferde tüm stdin , bir seferde stdout'a kopyalanıyor.
Herkes kaputun altında zsh ne yaptığını anlamama yardımcı olabilir mi?