Normal bir katran komutu
tar cvf foo.tar ./foo >foo.out 2>foo.err
üç çıkış G / Ç akışı vardır
- verileri foo.tar'a arşivle
- STDOUT dosya adlarının listesi (foo.out'a yönlendirilir)
- hata iletileri STDERR (foo.err dosyasına yönlendirilir)
Sonra dosya adları listesini okumak zorunda kalmadan foo.err hata iletileri için inceleyebilirsiniz.
arşiv verileriyle bir şey yapmak istersem (netcat veya özel bir sıkıştırma programı aracılığıyla aktarın) tar'ın -f -
seçeneğini kullanabilirim
tar cvf - ./foo 2>foo.err | squish > foo.tar.S
Ama şimdi dosya adları listem hata mesajımla karışıyor çünkü tar'ın -v
çıktısı açıkça STDOUT'a (arşiv verilerinin aktığı yer) gidemiyor, bu yüzden tar bunu akıllıca STDERR'a yazıyor.
Korn kabuğunu kullanmak, arşiv akışını başka bir komuta bağlayan, ancak yine de -v
çıktıyı herhangi bir hata mesajından ayrı olarak yakalayan bir komut oluşturmanın bir yolu var .
tee
? Bu oldukça geçerli bir kullanım durumu gibi görünüyor.