Je veux voir la sortie d'une commande dans le terminal comme s'il n'y avait pas de redirection.
De plus, stderr doit être redirigé vers err.log et stdout doit être redirigé vers stdout.log.
Ce serait bien d'avoir également la copie exacte de ce qui est affiché dans le terminal, c'est-à-dire les erreurs imprimées au fur et à mesure qu'elles se produisent, dans un fichier séparé :stdouterr.log.
Réponse acceptée :
Utilisez le tee
commande comme suit :
(cmd | tee stdout.log) 3>&1 1>&2 2>&3 | tee stderr.log
3>&1 1>&2 2>&3
c'est ainsi que vous permutez stderr et stdout, car tee ne peut accepter que stdout.
Jetez un œil à la commande Unix tee pour des redirections plus avancées à l'aide de tee
.