Tôi biết đây là một bài viết cũ, nhưng tại sao không làm điều này?
echo "hi" >> log.txt #stdout -> log
echo "hi" | tee -a log.txt #stdout -> log & stdout
echo "hi" &>> log.txt #stdout & stderr -> log
echo "hi" |& tee -a log.txt #stdout & stderr -> log & stdout
Và tất nhiên, nếu bạn muốn thiết bị xuất chuẩn, bạn có thể in thường xuyên.
Bạn có thể làm điều này với bất kỳ sự kết hợp các luồng nào bạn muốn, chỉ cần sử dụng hai lệnh cơ bản đó.
Tôi biết tôi đã đến đây và không nhận được câu trả lời dễ hiểu / thực hiện, hy vọng điều này sẽ giúp ích cho người khác đang gặp khó khăn.
Nhân tiện, đối với các noobs ngoài đó như bản thân trước đây của tôi, tất cả các tee
lệnh thực hiện là đầu ra stdin cho cả stdout và (các) tệp được chỉ định làm đối số tiếp theo. -a
là viết tắt của append, vì vậy bạn không ghi đè lên tệp với mỗi lần sử dụng lệnh. Nếu bạn có thêm câu hỏi, tôi thấy đây là một tài nguyên rất hữu ích để nhanh chóng học bash.