2011-10-26 31 views

Trả lời

217

Chỉ cần thêm chúng vào một dòng command 2>> error 1>> output

Tuy nhiên, lưu ý rằng >> là dành cho phụ nếu tệp đã có dữ liệu. Trong khi đó, > sẽ ghi đè mọi dữ liệu hiện có trong tệp.

Vì vậy, command 2> error 1> output nếu bạn không muốn nối thêm.

Chỉ vì mục đích hoàn thành, bạn có thể viết 1> làm chỉ > vì bộ mô tả tệp mặc định là đầu ra. do đó 1>> là giống nhau.

Vì vậy, command 2> error 1> output trở thành, command 2> error > output

+1

Câu trả lời hay! Tôi thực sự thích lời giải thích của bạn về cách '1>' có thể được viết là '>' – user784637

+0

Điều này khác với 'lệnh & 2> err.log' như thế nào, tôi nghĩ tôi hoàn toàn bối rối. (Một liên kết đến một câu trả lời thích hợp của tất cả các đường ống bash-isms có thể theo thứ tự) – ThorSummoner

+4

@ThorSummoner http://www.tldp.org/LDP/abs/html/io-redirection.html là những gì tôi nghĩ rằng bạn đang tìm kiếm. Fwiw, có vẻ như 'command & 2> err.log' không hoàn toàn hợp lệ - dấu và trong cú pháp đó được sử dụng cho bộ mô tả tập tin như đích, ví dụ' command 1> & 2' sẽ định tuyến lại stdout thành stderr. – DreadPirateShawn

9

Giống như rằng:

$ command >>output 2>>error 
11

Hoặc nếu bạn muốn kết hợp kết quả đầu ra (stdout & stderr) trong một tập tin duy nhất bạn có thể muốn sử dụng:

command > merged-output.txt 2>&1 
+22

được thực hiện đơn giản hơn là "command &> merged-output.txt" –

+21

Đây không phải là câu trả lời cho câu hỏi. – Matthias

9

Hãy thử cách này:

your_command 2>stderr.log 1>stdout.log 

Thông tin thêm

Các chữ số 0 qua 9file descriptor trong bash. 0 là viết tắt của đầu vào tiêu chuẩn, 1 là viết tắt của đầu ra tiêu chuẩn, 2 là viết tắt của lỗi chuẩn. 3 thông qua 9 được dành cho bất kỳ việc sử dụng tạm thời nào khác.

Bất kỳ bộ mô tả tệp nào cũng có thể được chuyển hướng đến tệp hoặc đến một bộ mô tả tệp khác bằng cách sử dụng toán tử >. Thay vào đó, bạn có thể sử dụng toán tử >> để nối thêm vào tệp thay vì tạo tệp trống.

Cách sử dụng:

file_descriptor > filename

file_descriptor > & file_descriptor

Vui lòng tham khảo http://www.tldp.org/LDP/abs/html/io-redirection.html.

+3

Nhận xét trước đó không còn phù hợp nữa vì câu trả lời đã thay đổi về cơ bản (cho tốt hơn). Nó bây giờ thảo luận làm thế nào để độc lập chuyển hướng đầu ra đó là hữu ích. – Dom

Các vấn đề liên quan