Tôi đang viết một kịch bản để sao lưu cơ sở dữ liệu. Tôi có dòng sau:Bash script - lưu trữ stderr trong một biến
mysqldump --user=$dbuser --password=$dbpswd \
--host=$host $mysqldb | gzip > $filename
Tôi muốn gán stderr cho biến, để nó tự gửi email cho tôi biết điều gì đã xảy ra nếu xảy ra sự cố. Tôi đã tìm thấy các giải pháp để chuyển hướng stderr đến stdout, nhưng tôi không thể làm điều đó như stdout đã được gửi (thông qua gzip) vào một tệp. Làm thế nào tôi có thể lưu trữ riêng stderr trong một kết quả $ biến?
Tôi không nghĩ rằng nó hoạt động. stderr được chuyển hướng đến stdout, sau đó được chuyển hướng đến một tệp. Bạn không thể chuyển hướng lệnh stdout của lệnh đến một tệp và sau đó thay thế stdout được hiển thị bằng stderr –
@Michael: Xem bản chỉnh sửa của tôi. –
Hoạt động hoàn hảo. Cảm ơn! – thornate