J’ai une petite fonction bash pour consigner mes sorties Macports dans un fichier (puisque les installations crachent souvent des petites informations faciles à perdre dans le bruit des terminaux), alors je ne fais que chatter le fichier vers le terminal:
function porti { command sudo port install $@ >> $1.log 2>&1; cat $1.log }
Est-il possible de faire cela simultanément?
BTW je passe $ @ pour installer mais seulement 1 $ pour le nom du fichier afin que je puisse faire quelque chose comme:
porti git-gore +bash_completion
et ne récupère que le fichier git-core.log, mais quelqu’un d’autre préférera peut-être inclure des variantes dans le nom du fichier …
La solution habituelle consiste à utiliser tee (1) :
sudo port install $@ 2>&1 | tee -a $1.log
devrait faire ce que tu veux