Saya tidak jelas apa urutan terbaik untuk mengambil keduanya STDERRdan STDOUTmenggunakan file yang sama tee. Saya tahu bahwa jika saya ingin melakukan pipe ke file saya harus memetakan filehandle setelah redirect, yaitu
find . >/tmp/output.txt 2>&1
Ini menginstruksikan shell untuk mengirim STDOUTke /tmp/output.txtdan kemudian mengirim STDERRke STDOUT(yang sekarang mengirim ke /tmp/output.txt).
Mencoba melakukan 2>&1sebelum mengarahkan file tidak akan memiliki efek yang diinginkan.
Namun ketika saya ingin menggunakan pipa teeseharusnya:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
|&digunakan, kesalahan standar command1 terhubung ke input standar command2 melalui pipa; itu adalah singkatan2>&1 |. Pengalihan implisit dari kesalahan standar ini dilakukan setelah setiap pengalihan ditentukan oleh perintah."