0
votes

Rediriger la commande de temps et la sortie de stdout dans le même fichier via Shell Script

J'ai suivi de MAIN.CPP

g++ -o test -g main.cpp
{ time ./test ; } 2>&1> /home/kj/bashTest/log


1 commentaires

> / home / kj / bashtest / journal 2> & 1


3 Réponses :


2
votes

Vous avez juste besoin d'inverser deux redirections: xxx

Si vous redirectez d'abord une erreur standard, il reste sur la console, équivalant à sans effet.


1 commentaires

C'est une bonne réponse expliquant l'importance de la commande: Unix.stackexchange.com/a/37662/232207



1
votes

Une solution simple consiste à rediriger tous les flux dans le journal: xxx

Ceci est généralement mon go-to si aucune scission de flux n'est nécessaire.


0 commentaires

0
votes

Cela résout ma question aussi:

g++ -o test -g main.cpp
{ time ./test ; } 2>&1 | cat > /home/kj/bashTest/log


1 commentaires

REMARQUE Cette solution invoque un processus supplémentaire entier et, en tant que tel, peut être coûteux pour les flux de sortie importants.