Tôi có một tập lệnh sẽ được người dùng không sử dụng kỹ thuật tương tác. Tập lệnh viết các cập nhật trạng thái cho STDOUT để người dùng có thể chắc chắn rằng tập lệnh đang chạy OK.Làm thế nào để có được cả hai STDOUT và STDERR để đi đến các thiết bị đầu cuối và một tập tin đăng nhập?
Tôi muốn cả STDOUT và STDERR được chuyển hướng đến thiết bị đầu cuối (để người dùng có thể thấy rằng tập lệnh đang hoạt động cũng như xem có sự cố hay không). Tôi cũng muốn cả hai luồng được chuyển hướng đến tệp nhật ký.
Tôi đã nhìn thấy một loạt các giải pháp trên mạng. Một số không làm việc và những người khác là phức tạp khủng khiếp. Tôi đã phát triển một giải pháp khả thi (mà tôi sẽ nhập như là một câu trả lời), nhưng nó là kludgy.
Giải pháp hoàn hảo sẽ là một dòng mã có thể được kết hợp vào đầu của bất kỳ tập lệnh nào gửi cả hai luồng tới cả thiết bị đầu cuối và tệp nhật ký.
CHỈNH SỬA: Chuyển hướng STDERR sang STDOUT và tạo kết quả cho công việc phát bóng, nhưng nó phụ thuộc vào người dùng nhớ chuyển hướng và dẫn đầu ra. Tôi muốn đăng nhập để được đánh lừa bằng chứng và tự động (đó là lý do tại sao tôi muốn để có thể nhúng các giải pháp vào kịch bản chính nó.)
Đối với những người đọc khác: câu hỏi tương tự: http://stackoverflow.com/questions/692000/how-do-i-write-stderr-to-a-file-while-using-tee-with-a-pipe – pevik