This page is READ-ONLY. It is generated from the old site.
All timestamps are relative to 2013 (when this page is generated).
If you are looking for TeX support, please go to VietTUG.org

shell: chuyển hướng 2>&1

Added by about 4 years ago

Thứ tự của thiết lập chuyển hướng rất quan trọng:

$ foobar 1>test1.log 2>&1          # chuyển hết nội dung từ stderr qua stdout (trước)
$ foobar 2>&1        1>test2.log   # chuyển nội dung stdout đến test2.log (trước)

Với thứ tự đầu tiên, test1.log bao gồm các kết quả xuất ra stdoutstderr. với ví dụ thứ hai, trong tập tin test2.log chỉ có nội dung mà foobar xuất ra stdout. Tại sao? bởi vì thứ tự các chuyển hướng sẽ được hiểu theo thứ tự ngược với thứ tự viết ra khi thi hành lệnh.

Ứng dụng: nếu thi hành lệnh ở remote thì kết quả xuất của lệnh đó sẽ ghi ra stderr. Do đó, để thu được kết quả và gửi qua email, có thể làm như sau:

$ ssh [email protected] "remote command" 1>/path/to/log_file 2>&1
$ mail -s "subject" [email protected] < /path/to/log_file

Comments