Aller au contenu

Personnalisation .bashrc

Le fichier ~/.bashrc est l’’interpréteur de commandes le plus couramment utilisé dans les systèmes Linux. Il sert à paramètrer le shell d’un utilisateur.
Le shell (bash ou autre) est personnalisable via un fichier de configuration.
Pour BASH, il s’agit du fichier .bashrc, il est lu à chaque ouverture de console par l’utilisateur $USER.
Le plus simple pour l’éditer est d’utiliser le raccourci ~/
nano ~/.bashrc
cp ~/.bashrc ~/my_bashrc
/bin/cp /etc/skel/.bashrc ~/
. ~/.bashrc

Ajouter des alias de commandes

Il est possible d’ajouter des alias de commandes pour éviter d’avoir à taper une longue commande si elle sert souvent, il suffira de saisir l’alias pour lancer la commande associée.
alias code='commande'
Par exemple :
alias maj='sudo apt-get update && apt -y upgrade'

Modifier son prompt

Il est possible de personnaliser son prompt pour y ajouter de la couleur ou des informations en fonction de l’utilisateur qui est connecté à la console.
Voici le prompt que j’utilise pour l’utilisateur root :
PS1="\[\033[01;31m\]\h \[\e[1;36m\]\w\[\e[0;m\] \[\e[1;32m\] \\$\[\e[0;m\] "
Ce qui me donne le hostname en rouge, le dossier courant en bleu clair et le prompt en violet :
Capture decran 2023 08 24 145406 e1692881713339
Et le prompt que j’utilise pour un utilisateur lambda:
PS1="\[\033[01;32m\]\h \[\e[1;36m\]\w\[\e[0;m\] \[\e[1;35m\] \\$\[\e[0;m\] "
Pareil, mais avec le hostname en vert
Capture decran 2023 08 24 145342

D'autres exemples de prompt :

 PS1='\[\033[01;31m\]\u\[\033[01;34m\] \W \$\[\033[00m\] '
Un tout simple avec l’username, le dossier courant et le prompt
Capture decran 2023 08 24 150159
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\] "
Avec l’heure, le nom@hostname, le repertoire courant et le prompt :
Capture decran 2023 08 24 145835
PS1="\[\033[01;31m\]\h \[\e[1;36m\]\w\[\e[0;m\] \n \[\e[1;35m\] \\$\[\e[0;m\] "
Avec le hostname, le repertoire courant et sur la deuxième ligne le prompt :
Capture decran 2023 08 24 153753

Changer les couleurs

Pour changer les couleurs il faut suivre ce tableau :
\e[0;30m = Dark Gray
\e[1;30m = Bold Dark Gray
\e[0;31m = Red
\e[1;31m = Bold Red
\e[0;32m = Green
\e[1;32m = Bold Green
\e[0;33m = Yellow
\e[1;33m = Bold Yellow
\e[0;34m = Blue
\e[1;34m = Bold Blue
\e[0;35m = Purple
\e[1;35m = Bold Purple
\e[0;36m = Turquoise
\e[1;36m = Bold Turquoise
\e[0;37m = Light Gray
\e[1;37m = Bold Light Gray
Couleurs de fond :
\e[40m = Dark Gray
\e[41m = Red
\e[42m = Green
\e[43m = Yellow
\e[44m = Blue
\e[45m = Purple
\e[46m = Turquoise
\e[47m = Light Gray

Changer les variables

Pour changer les variables, suivre ce tableau :
\d   The date, in "Weekday Month Date" format (e.g., "Tue May 26"). 

 \h   The hostname, up to the first . (e.g. deckard) 
 \H   The hostname. (e.g. deckard.SS64.com)

 \j   The number of jobs currently managed by the shell. 

 \l   The basename of the shell's terminal device name. 

 \s   The name of the shell, the basename of $0 (the portion following the final slash). 

 \t   The time, in 24-hour HH:MM:SS format. 
 \T   The time, in 12-hour HH:MM:SS format. 
 \@   The time, in 12-hour am/pm format. 

 \u   The username of the current user. 

 \v   The version of Bash (e.g., 2.00) 

 \V   The release of Bash, version + patchlevel (e.g., 2.00.0) 

 \w   The current working directory. 
 \W   The basename of $PWD. 

 \!   The history number of this command. 
 \#   The command number of this command. 

 \$   If you are not root, inserts a "$"; if you are root, you get a "#"  (root uid = 0) 

 \nnn   The character whose ASCII code is the octal value nnn. 

 \n   A newline. 
 \r   A carriage return. 
 \e   An escape character (typically a color code). 
 \a   A bell character.
 \\   A backslash. 

 \[   Begin a sequence of non-printing characters. (like color escape sequences). This
      allows bash to calculate word wrapping correctly.

 \]   End a sequence of non-printing characters.

Ajouter un message de bienvenue

Pour ajouter un message de bienvenue lors du changement d’utilisateur, il y’a plusieurs options
1. Ajouter une commande echo
Capture decran 2023 08 24 151531
2. Ajouter une commande figlet (installer figlet avec apt install figlet si pas présent sur la machine)
Capture decran 2023 08 24 151804
3. Ajouter une commande figlet + lolcat (installer lolcat avec apt install lolcat si pas présent sur la mahcine)
Capture decran 2023 08 24 151938
Le texte changera à chaque fois que vous relancez bash, trop mim’s.