Sen Aşağıdaki hile kullanabilirsiniz takas stdout ve stderr. Sonra normal boru işlevselliğini kullanın.
( proc1 3>&1 1>&2- 2>&3- ) | proc2
Sağlanan stdoutve stderrher ikisi de başlangıçta aynı yere işaret ettiğinde, bu size ihtiyacınız olanı verecektir.
Ne x>ybit yapar dosya tanıtıcısı değiştirmektir xşimdi nerede dosya tanıtıcısı olan bilgi gönderir, böylece yşu anda puan. Özel durumumuz için:
3>&1sadece aşağıdaki son madde işareti için bir yere kaydetmek üzere mevcut tutamağa (orijinal stdout) çıkış verecek yeni bir tutamaç oluşturur .31
1>&2geçerli tanıtıcıya (orijinal stderr) 1çıktı almak için tanıtıcıyı (stdout) değiştirir .2
2>&3-geçerli tutamağa (orijinal stdout) 2çıkış yapmak için tutamağı (stderr) değiştirir , ardından tutamacı kapatır ( sondaki aracılığıyla ).33-
Sıralama algoritmalarında gördüğünüz takas komutu etkili bir şekilde:
temp = value1;
value1 = value2;
value2 = temp;
rcBaşka bir kabuk olan böyle basit bir yönlendirme yapabilirsiniz . Ör:proc1 |[2] proc2. Hoş değil mi?bashGerçi değil .