vendredi 12 octobre 2012

bash, savoir si stdout fait référence à un terminal

Pour savoir si la sortie standard pointe sur un terminal, on peut utiliser l'opérateur "-t" en bash.



Dans le cas présenté, on utilisera colordiff pour le rendu sinon diff.

En effet, un pipe avec less (sans l'option -R ou la variable LESS définie à -R) afficherait les caractères d’échappement servant à la colorisation des lignes

Cf une page intéressante : ici