Não tenho certeza se você está tentando ocultar o STDERR ou redirecioná-lo para o STDOUT.
Para redirecionar STDOUT para um arquivo:
pkg_add emacs-23.4,2.tbz > stdout.log
Para redirecionar STDOUT e STDERR para um arquivo:
pkg_add emacs-23.4,2.tbz > & stdxxx.log
Para redirecionar STDOUT para um arquivo e ocultar STDERR:
( pkg_add emacs-23.4,2.tbz > stdout.log ) > & /dev/null
Para redirecionar o STDOUT para o console e ocultar o STDERR:
( pkg_add emacs-23.4,2.tbz > /dev/tty ) > & /dev/null
Para redirecionar STDOUT para o console e STDERR para um arquivo:
( pkg_add emacs-23.4,2.tbz > /dev/tty ) > & stderr.log
Para redirecionar STDOUT para um arquivo e STDERR para um arquivo:
( pkg_add emacs-23.4,2.tbz > stdout.log ) > & stderr.log
EDIT: A razão pela qual isso funciona é que a ação no () acontece primeiro; Portanto, se redirecionarmos o STDOUT, ele não estará mais disponível fora dos (). Isso nos deixa com apenas STDERR e podemos redirecioná-lo conforme desejado.
sh
.