Dans cet exemple, nous allons mettre un peu de couleur au prompt du bash. L’exemple est réalisé sous une centos 5 mais il est bien entendu adaptable à d’autres distributions.
Editons le fichier /etc/bashrc et ajoutons à la fin de ce fichier :
alias ls="ls --color" alias grep="grep --color" if [[ ${EUID} == 0 ]] ; then PS1='\ \[\033[0;00m\][\ \[\033[1;37m\]\[\033[41m\]\u\ \[\033[0;00m\]@\ \[\033[0;35m\]\h\ \[\033[0;00m\]:\ \[\033[0;34m\]\w\ \[\033[0;00m\]]\ \[\033[0;00m\]\$\ ' else PS1='\ \[\033[0;00m\][\ \[\033[0;31m\]\u\ \[\033[0;00m\]@\ \[\033[0;35m\]\h\ \[\033[0;00m\]:\ \[\033[0;34m\]\w\ \[\033[0;00m\]]\ \[\033[0;00m\]\$\ ' fi
Les deux premières lignes définissent des alias pour coloriser les commandes ls et grep.
Ensuite nous définissons deux prompts différents : un pour le root et un autre pour les utilisateurs lambda.
La variable d’environnement PS1 permet de definir l’affichage du prompt.
Les codes couleurs sont les suivants :
\033[0;30m : Noir
\033[0;31m : Rouge
\033[0;32m : Vert
\033[0;33m : Jaune
\033[0;34m : Bleu
\033[0;35m : Magenta
\033[0;36m : Cyan
\033[0;37m : Gris clair
Si l’on remplace le [0 par [1, on obtient l’équivalent de la couleur en plus clair. Ainsi 0;37 étant le gris clair, 1;37 donnera du blanc.
En remplacant [0 par [4, le texte sera souligné.
Il est également possible de définir la couleur de fond de texte :
\033[40m : Noir
\033[41m : Rouge
\033[42m : Vert
\033[43m : Jaune
\033[44m : Bleu
\033[45m : Magenta
\033[46m : Cyan
\033[47m : Gris clair
Les variables sont :
\h : le hostname (jusqu’au premier ‘.’ )
\H : le hostname complet
\t : l’heure au format HH:MM:SS sur 24H
\T : l’heure au format HH:MM:SS sur 12H
\u : le username
\w : chemin complet vers le répertoire courant
\W : répertoire courant (format court)
\$ : # si root ou $ si utilisateur lambda
\d : la date
\# : le numéro de la commande dans la session courante
\! : le numéro de la commande dans l’historique.