Comment tee to stderr?
3 réponses
./script.sh | tee /dev/fd/2
notez que cela dépend du support du système D'exploitation, Pas de puissance intégrée en tee, donc n'est pas universel (mais fonctionnera sur MacOS, Linux, Solaris, FreeBSD, probablement d'autres).
31
répondu
Nicholas Wilson
2012-12-10 16:32:53
la seule méthode de plate-forme croisée que j'ai trouvé qui fonctionne à la fois dans les shells interactifs et non-interactifs est:
command | tee >(cat 1>&2)
l'argument à lancer est un gestionnaire de fichier ou de fichier. En utilisant substitution de procédé nous envoyons la sortie à un processus. Dans le processus = cat=, nous redirigeons stdout vers stderr. Le shell (bash / ksh) est responsable de la configuration des descripteurs de fichiers 1 et 2.
39
répondu
brianegge
2014-12-07 20:48:46
./script.sh 2>&1 >/dev/null | tee stderr.out
cela ouvre STDERR à STDOUT, puis élimine STDOUT.
-2
répondu
David W.
2012-12-10 17:56:46