Je ne sais pas si vous essayez de masquer STDERR ou de le rediriger vers STDOUT.
Pour rediriger STDOUT vers un fichier:
pkg_add emacs-23.4,2.tbz > stdout.log
Pour rediriger STDOUT et STDERR vers un fichier:
pkg_add emacs-23.4,2.tbz > & stdxxx.log
Pour rediriger STDOUT vers un fichier et masquer STDERR:
( pkg_add emacs-23.4,2.tbz > stdout.log ) > & /dev/null
Pour rediriger STDOUT vers la console et masquer STDERR:
( pkg_add emacs-23.4,2.tbz > /dev/tty ) > & /dev/null
Pour rediriger STDOUT vers la console et STDERR vers un fichier:
( pkg_add emacs-23.4,2.tbz > /dev/tty ) > & stderr.log
Pour rediriger STDOUT vers un fichier et STDERR vers un fichier:
( pkg_add emacs-23.4,2.tbz > stdout.log ) > & stderr.log
EDIT: La raison pour laquelle cela fonctionne est que l'action dans le () se produit en premier; Ergo, si nous avons redirigé STDOUT, alors il ne sera plus disponible en dehors des (). Cela nous laisse juste STDERR, puis nous pouvons rediriger cela comme vous le souhaitez.
sh
.