Tôi không chắc chắn nếu bạn đang cố gắng ẩn STDERR hoặc chuyển hướng nó sang STDOUT.
Để chuyển hướng STDOUT đến một tệp:
pkg_add emacs-23.4,2.tbz > stdout.log
Để chuyển hướng STDOUT và STDERR sang một tệp:
pkg_add emacs-23.4,2.tbz > & stdxxx.log
Để chuyển hướng STDOUT đến một tệp và ẩn STDERR:
( pkg_add emacs-23.4,2.tbz > stdout.log ) > & /dev/null
Để chuyển hướng STDOUT sang bàn điều khiển và ẩn STDERR:
( pkg_add emacs-23.4,2.tbz > /dev/tty ) > & /dev/null
Để chuyển hướng STDOUT sang bàn điều khiển và STDERR vào một tệp:
( pkg_add emacs-23.4,2.tbz > /dev/tty ) > & stderr.log
Để chuyển hướng STDOUT sang tệp và STDERR sang tệp:
( pkg_add emacs-23.4,2.tbz > stdout.log ) > & stderr.log
EDIT: Lý do tại sao điều này hoạt động là vì hành động trong () xảy ra đầu tiên; Ergo, nếu chúng tôi đã chuyển hướng STDOUT, thì nó sẽ không còn khả dụng bên ngoài (). Điều này để lại cho chúng tôi chỉ với STDERR, và sau đó chúng tôi có thể chuyển hướng đó theo ý muốn.
sh
.