Tôi không rõ thứ tự tốt nhất là chụp cả hai STDERRvà STDOUTvào cùng một tệp bằng cách sử dụng tee. Tôi biết rằng nếu tôi muốn chuyển sang tập tin, tôi phải ánh xạ tập tin sau khi chuyển hướng, tức là
find . >/tmp/output.txt 2>&1
Điều này hướng dẫn shell gửi STDOUTđến /tmp/output.txtvà sau đó gửi STDERRđến STDOUT(hiện đang gửi đến /tmp/output.txt).
Cố gắng thực hiện 2>&1trước khi chuyển hướng tệp sẽ không có hiệu quả mong muốn.
Tuy nhiên, khi tôi muốn sử dụng đường ống teethì nên:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
|&được sử dụng, lỗi tiêu chuẩn của lệnh1 được kết nối với đầu vào tiêu chuẩn của lệnh2 thông qua đường ống; nó là tốc ký2>&1 |. Việc chuyển hướng ngầm định này của lỗi tiêu chuẩn được thực hiện sau bất kỳ chuyển hướng nào được chỉ định bởi lệnh."