Bir işlemin üstesinden gelmek ve üç farklı programla analiz etmek istiyorum. Adlandırılmış borular kullanabildim, ancak bunun yerine fd kullanabiliyorum.Adlandırılmış borular yerine fd'ye nasıl yazılır
Burada şimdiye kadar çalışır ne:
exec 3< <(myprog)
tee p1 p2 >/dev/null <&3
cat p1|ap1 &
cat p2|ap2 &
p1 ve p2 mkfifo ile oluşturulmuştur. ap1 ve ap2 analiz programlarıdır. Bu doğru diyorum, bilmiyorum ama tee
yerine iki yeni fd'ye bir yolu var mı? Böyle bir şey:
exec 3< <(myprog)
tee >&4 >&5 <&3
cat <&4|ap1 &
cat <&5|ap2 &
Ahh. Bu işe yarayabilir. FD'nin tişörtüne giden bir yolu var mı? ap1 ve ap2, boru hatları ve ton anahtarı ile büyük komutlardır. Bir fd kullanabilirsem daha kolay okunabilir. – User1
@ User1: kesinlikle mümkün (ve <()' and '>() 'desteklemeyen kabuklarda çalışma avantajı vardır, ancak sözdizimi garip. Burada ap1 ve ap2 fonksiyonlarını tanımlamak daha kolay olurdu. – Gilles
Diğer sözdizimi nedir? Komut dosyasının bazı bölümlerinde, ap1'in giriş parametrelerine göre nasıl çağrıldığını değiştiren ifadeler kullandığını fark ettim. '>()' muhtemelen benim durumumda pek işe yaramayacaktır. Ama başka nasıl arayabilirim bilmiyorum. Herhangi bir fikir? Yardımlarınız için şimdiye kadar teşekkürler. – User1