Console

Personnaliser le shell bash : alias, historique, prompt

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Qu'est ce que le .bashrc ?




Le fichier .bashrc se situe dans le dossier /home/$USER/.bashrc. Il est lu à chaque ouverture de console par l'utilisateur $USER.

Il est possible de saisir des alias dedans de la forme:

Code BASH :
alias code="commande"


Le but est de rajouter ses propres alias pour se simplifier l'utilisation quotidienne.

Il suffira de saisir l'alias pour lancer la commande associée.

S'il n'est pas lu, vérifier que le fichier soit exécutable, et vérifier aussi la présence de .bash_profile qui doit contenir :

Code BASH :
# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi
 




Quelques exemples d'alias




Mettre à jour son système




Mageia




Code BASH :
alias maj="su -lc 'urpmi --auto-update --download-all --split-length=0'"




Vérifier la température toutes 2 secondes




Code BASH :
alias tt="watch sensors"




Voir les statistiques réseau d'une machine donnée




Code BASH :
alias flic="nmap -v -Pn -A"


Il suffit par la suite d'appeler la commande via flic 10.0.0.1 par exemple.



Touchpad




Activer le pad:

Code BASH :
alias padon="synclient TouchpadOff=0"


Désactiver le pad

Code BASH :
alias padoff="synclient TouchpadOff=1"


D'autres alias utiles




Code BASH :
alias nn="su -lc 'service network restart'"
alias gg="ping google.fr"
alias log="tail -f /var/log/messages"




Personnalisation du prompt




Le prompt est personnalisable directement dans le .bashrc.

Pour afficher le prompt d'un utilisateur en vert, avec la date, on peut y ajouter ceci:

Code BASH :
PS1="\# \[\e[0;36m\][\t]\[\e[0;m\] \[\e[0;32m\]\u@\h\[\e[0;m\]: \[\e[1;35m\]\w\[\e[0;m\] \[\e[1;32m\] \\$\[\e[0;m\] "


Pour l'utilisateur root, on peut changer la couleur pour du rouge:

Code BASH :
PS1="\# \[\e[0;36m\][\t]\[\e[0;m\] \[\e[0;31m\]\u@\h\[\e[0;m\]: \[\e[1;35m\]\w\[\e[0;m\] \[\e[1;31m\] \\$\[\e[0;m\] "




Ou un prompt tout simple (Comme sur Gentoo) mais coloré :

Pour root en rouge :

Code BASH :
PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '


Ou pour les utilisateurs :

Code BASH :
PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '




Script pour initialiser les couleurs




Pour harmoniser les prompts des utilisateurs, on peut créer ce script pour choisir la couleur en fonction de l'utilisateur (root ou non) :

Code BASH :
if [[ ${EUID} == 0 ]] ; then
        #Prompt de root
else
        #Prompt de l'utiliateur
fi


Mettre ce morceau de code dans les fichers ~/.bashrc et dans /etc/skel/.bashrc pour les futurs utilisateurs créés.