Existe-t-il quelque chose comme ça sous Unix?
$ echo "this should show in red" | red
$ echo "this should show in green" | green
$ echo "this should show in blue" | blue
Ici, je ne veux pas que du texte de code couleur littéral apparaisse (pour être collé dans un fichier, par exemple). Je veux juste dire que le texte apparaît réellement dans le terminal comme cette couleur. Est-ce possible?
rgb001
,rgb123
etc. Voir perldoc.perl.org/Term/ANSIColor.html#Supported-Colors pour plus de détails.Vous utiliseriez
tput
pour cela:Cela peut être utilisé pour construire un tuyau:
Les couleurs de base sont respectivement noir (0), rouge (1), vert, jaune, bleu, magenta, cyan et blanc (7). Vous trouverez tous les détails dans la
terminfo(5)
page de manuel .la source
Avec
zsh
:Puis:
la source
(comme indiqué dans les commentaires, utilisez
tput
plutôt si vous l'avez)Utilisation du shell bourne et de la commande
echo
(intégrée) qui comprend l'échappement ANSI\e
avec l'-e
option:ou un script shell plus générique (disons
/usr/local/bin/colorize
):IFS=
est nécessaire pour empêcher la suppression des espaces blancs (voir POSIX pour plus de détails).la source
tput
.