Có hai cách để làm điều này, tùy thuộc vào phiên bản Bash của bạn.
Cách cổ điển và di động ( Bash pre-4 ) là:
cmd >> outfile 2>&1
Một cách không thể truy cập, bắt đầu với Bash 4 là
cmd &>> outfile
(tương tự &> outfile
)
Để có phong cách mã hóa tốt, bạn nên
- quyết định xem tính di động là một mối quan tâm (sau đó sử dụng cách cổ điển)
- quyết định xem tính di động ngay cả đối với Bash trước 4 có phải là một mối quan tâm không (sau đó sử dụng cách cổ điển)
- bất kể bạn sử dụng cú pháp nào, không thay đổi nó trong cùng một tập lệnh (nhầm lẫn!)
Nếu tập lệnh của bạn đã bắt đầu bằng #!/bin/sh
(cho dù có ý định hay không), thì giải pháp Bash 4 và nói chung bất kỳ mã cụ thể nào của Bash, không phải là cách để đi.
Cũng cần nhớ rằng Bash 4 &>>
chỉ là cú pháp ngắn hơn - nó không giới thiệu bất kỳ chức năng mới hoặc bất cứ điều gì tương tự.
Cú pháp là (bên cạnh cú pháp chuyển hướng khác) được mô tả ở đây: http://bash-hackers.org/wiki/doku.php/syntax/redirection#appending_redirectedDefput_and_errorDefput