Trong Unix shell, tôi có một tệp env (tệp env xác định các tham số cần thiết để chạy tập lệnh người dùng như tên và đường dẫn tệp nhật ký, chuyển hướng đầu ra và lỗi đối với tệp nhật ký, chi tiết kết nối cơ sở dữ liệu, v.v. ) chuyển hướng tất cả các đầu ra ( thông báo tiếng vang ) và lỗi đối với tệp nhật ký từ tập lệnh được thực thi bằng cách sử dụng mã sau:
exec 1>>${LOG_FILE}
exec 2>>${LOG_FILE}
Tệp env được thực thi ở đầu mỗi tập lệnh. Do đoạn mã trên trong tệp env, tất cả các kết quả đầu ra của bảng điều khiển có thể là kết quả đầu ra của người dùng hoặc lỗi được xuất trực tiếp vào tệp nhật ký, đó là những gì tôi thực sự cần.
Nhưng có một số đầu ra do người dùng chọn lọc mà tôi muốn được hiển thị trong cả bảng điều khiển và tệp nhật ký. Nhưng vì mã trên tôi không thể làm như vậy.
Tôi biết rằng nếu tôi loại bỏ đoạn mã trên, tôi có thể nhận được kết quả mong muốn cho trường hợp này, nhưng tôi sẽ phải ghi thủ công tất cả các đầu ra khác vào tệp nhật ký, đây không phải là một nhiệm vụ dễ dàng.
Có cách nào để lấy đầu ra trong cả bảng điều khiển và tệp nhật ký mà không xóa các mã trên không?