Étant donné que la quantité de sortie est indéterminée, cela n'a pas de sens pour bash
pour le stocker pour vous afin de le réafficher. Mais il existe une autre solution à votre problème :
Le tee
La commande vous permet de dupliquer un flux de sortie dans un fichier. Donc, si vous êtes prêt à utiliser un fichier pour le stockage temporaire, vous pouvez faire quelque chose comme ceci :
make | tee output.txt
grep "warning" output.txt
Cette solution évite d'exécuter make
deux fois, ce qui pourrait être (a) coûteux et (b) incohérent :la deuxième marque peut faire moins de travail que la première parce que certaines cibles ont déjà été faites la première fois.
Remarque :je n'ai pas essayé cela. Vous devrez peut-être jouer avec la jonction des flux d'erreur et de sortie, ou autres.
Vous pouvez faire ceci :
make
!! | grep "warning"
En utilisant !!
vous lui dites de répéter la dernière commande à cet endroit, ainsi que toutes les autres commandes bash que vous souhaitez lui ajouter.
L'inconvénient est que si la commande que vous répétez prend beaucoup de temps à s'exécuter, vous aurez beaucoup plus de temps à attendre à moins que vous n'ayez d'abord stocké la sortie de la commande précédente dans un fichier de sortie.