Kabuklarda, exec1) dosya açıklıkları ve yönlendirmeleri yapar 2) gerçek execing (geçerli işlem görüntüsünü başka bir işlem görüntüsüyle değiştirir).
Bunlar execyeniden yönlendirmelerdir.
Önce tanımlayıcıyı (1) , ilk argümanı olan eşzamanlı olarak çalışan bir işleme bağlı bir işlem ikamesi tarafından üretilen boruya yönlendirirsiniz ( exec 1> >(tee $LOGFILE)) ve daha sonra tanımlayıcıyı (2) tanımlayıcının şimdi işaret ettiği yere (tee) yönlendirirsiniz. boru).stdouttee$LOGFILEstderr1
Dosya tanımlayıcıların kalıtsal olduğunu aklınızda tutarak, tüm geleceği stdoutve stderrçıktıyı tee, $LOGFILEdosya yazarı 1'in (muhtemelen terminaliniz) işaret ettiği yere ve nereye yazdığı sürece gittiğinizi unutmayın.
Not:
Orijinal Stdout'a tee süreç çıkışları (= orijinal Filedescriptor 1) öğrenebilirsiniz olarak, çünkü gelen / arama bash (1) için Basit Komutanlığı Genişleme ve Süreç Değişiklik , süreç ikamesi ( >() <()) (diğer açılımları ile birlikte) gerçekleşmeden önce yönlendirmeler yürütülür, yani içeri yönlendirme başladıktan sonraexec 1> >(tee "$LOGFILE") gerçekleşir , üst kabuktan devralındığı aynı dosya tanımlayıcı 1 ile bırakılır. (Eğer başka bir yol olsaydı, IO modeline bağlı olarak, kilitlenmeyi engelleyebilecek kendi girdisine yazmak için yapılmıştı). teeteetee