Avec bash, comment puis-je stocker le temps nécessaire à l’exécution de mon programme dans une variable et la sortie de mon programme dans une autre variable? Je sais que le time
envoie sa sortie à stdout
; le plus proche que j’ai est la suivante:
exec 3>&1 4>&2 time_output=$( { time echo hello world 1>&3 2>&4; } 2>&1 )
mais “Bonjour tout le monde” est imprimé sur le terminal. Comment capturer “Bonjour tout le monde” à une autre variable?
J’ai aussi essayé:
prog_output=$(time_output=$( { time echo hello world 1>&3 2>&4; } 2>&1 ) )
mais cela ne fonctionne pas. prog_output
ne contient rien et “hello world” est imprimé sur le terminal.
Est-ce que cela fonctionnerait pour vous?
prog_output=`( time ls ) 2> time_output` time_output=`cat time_output`