GNU/Linux >> Tutoriels Linux >  >> Debian

Comment personnaliser l'invite du terminal Bash sur Debian 10

Le shell bash Linux fournit de nombreuses options de personnalisation pour l'invite que vous pouvez utiliser non seulement pour incorporer diverses fonctionnalités dans l'invite, mais également pour les différencier par différentes couleurs.

Dans cet article, nous allons utiliser divers exemples pour personnaliser et recolorer le prompt de notre application Terminal qui vous permettra de faire de même selon vos besoins. Nous avons les commandes et procédures décrites dans cet article sur un système Debian 10 Buster.

Afficher la configuration actuelle de l'invite Bash

Lorsque vous ouvrez votre terminal via la recherche du lanceur d'applications Debian, l'invite suivante s'affiche :

[email protected]:directory$

Ce format par défaut répertorie le nom d'utilisateur, le nom d'hôte, puis le répertoire actuel de l'utilisateur. Le bash récupère cette configuration à partir du fichier bashrc qui est configuré individuellement pour chaque utilisateur dans son répertoire personnel. Voici comment ouvrir ce fichier :

$ nano ~/.bashrc

Emplacement :/home/nom d'utilisateur/.bashrc

Vous pouvez également utiliser n'importe quel autre éditeur de texte pour ouvrir ce fichier.

Voici à quoi ressemble ce fichier de configuration. Nous vous montrons ici la partie pertinente du fichier.

La variable PS1 que vous voyez dans l'image ci-dessus a toute la configuration requise pour l'invite bash. Expliquons d'abord ce que les caractères de cette variable indiquent. Vous pouvez afficher clairement cette variable dans la variable PS1 répertoriée après l'instruction else.

  • \u-Ceci indique le nom d'utilisateur de l'utilisateur actuel
  • \h :indique le nom d'hôte de l'utilisateur actuel extrait du nom de domaine complet.
  • \w :indique le répertoire de travail actuel. Votre répertoire personnel est indiqué par un symbole tilde ~.
  • \$] indique si vous êtes un utilisateur normal ($) ou un utilisateur root (#).

Vous pouvez également visualiser la configuration de la variable PS1 en renvoyant sa valeur comme suit :

$ echo $PS1

Personnaliser l'invite Bash

Après avoir vu où les informations d'invite sont stockées et ce que la variable PS1 décrit, voyons comment elle peut être modifiée pour personnaliser notre invite bash.

Avant de modifier la variable PS1, il est important de stocker son contenu par défaut dans une nouvelle variable. Cela nous aidera à restaurer l'invite à sa configuration d'origine en cas de problème. Saisissez la commande suivante dans votre Terminal :

$ DEFAULT=$PS1

Maintenant, la variable "DEFAULT" contient toutes les informations dont nous avons besoin pour récupérer nos paramètres d'invite par défaut.

Expérimentons-en maintenant avec notre variable PS1. Saisissez la commande suivante :

$ PS1="\u\$ "

Cette nouvelle valeur de PS1 a l'effet suivant sur votre invite :

Vous ne pouvez voir que votre nom d'utilisateur et vos informations d'utilisateur racine sans aucune couleur car aucune information de couleur n'a encore été définie.

Entrons la commande suivante pour que notre invite répertorie également notre répertoire de travail

$ PS1="\u:\w\$ "

Cette nouvelle valeur de PS1 a l'effet suivant sur votre invite :

Comme mon répertoire de travail était home, je ne pouvais voir que le symbole ~. Dans un autre répertoire, dites "Images", mon invite affichera les informations suivantes :

Réinitialiser l'invite par défaut

Puisque nous avions stocké la configuration d'origine de la variable PS1 dans la variable DEFAULT, nous pouvons remettre la valeur de PS1 par défaut en lui fournissant la valeur de notre variable DEFAULT.

Que pouvez-vous personnaliser d'autre ?

Si vous souhaitez que votre invite contienne un texte personnalisé spécifique , vous pouvez utiliser la syntaxe suivante :

$ PS1="[custom text] \[email protected]\h:\w\$ "

Exemple :

J'ai configuré mon invite pour inclure un message personnalisé comme suit :

Vous pouvez incorporer les caractères de base suivants dans votre invite :

Personnage Objectif
\d La date au format jour mois.
\f Le personnage de la cloche.
\a Le caractère d'échappement.
\h Le nom d'hôte de l'utilisateur actuel jusqu'à '.'
\H Le nom d'hôte de l'utilisateur actuel.
\l Nom de base du terminal.
\j Le nombre de tâches exécutées par le shell.
\r Retour chariot.
\n Une nouvelle ligne.
\u Nom d'utilisateur de l'utilisateur actuel.
\v Version bash.
\! Numéro d'historique d'impression de la commande en cours d'exécution.

Vous pouvez inclure l'heure système actuelle dans votre invite via la commande suivante :

$ PS1=”\A\u: \w\$ “

Cette nouvelle valeur de PS1 a l'effet suivant sur votre invite :

Vous pouvez également personnaliser votre invite pour inclure la sortie d'une commande ; cela vous donne un nombre illimité d'options à intégrer dans votre invite.

Syntaxe :

$ PS1="\[email protected]\h on `[command]` \w\$ "

Exemple :

Dans cet exemple, je vais configurer l'invite pour inclure le nom du groupe principal auquel appartient l'utilisateur actuel.

$ PS1="\[email protected]\h on `id -gn` \w\$ "

Coloriser l'invite Bash

Après avoir personnalisé l'invite, vous vous rendrez compte que les choses peuvent sembler un peu foirées. La simple raison est qu'il n'est pas trop facile de différencier une fonctionnalité de l'autre si elles sont toutes répertoriées dans la même couleur. Voyons maintenant comment coloriser l'invite pour la rendre plus agréable à l'œil.

Pour ajouter des couleurs à une ou plusieurs fonctionnalités, la variable PS1 inclut des balises de couleur. Le texte en surbrillance dans l'image suivante est une balise de couleur.

Voici le format d'une balise de couleur :

\[\033[COLOR]m\]

Par exemple, le nom d'utilisateur et le nom d'hôte par défaut que nous voyons dans notre invite de terminal par défaut sont verts en raison de la balise de couleur suivante :

\[\033[01;32m\]\[email protected]\h

Vous pouvez modifier cette valeur de couleur par rapport à une fonctionnalité d'invite bash pour lui donner une nouvelle couleur ou ajouter une nouvelle balise de couleur à une fonctionnalité qui n'en a pas.

Voici quelques couleurs courantes et leurs valeurs :

Couleur Valeur
Vert 32
Rouge 31
Noir 30
Bleu 34
Cyan 36
Violet 35
Jaune 33
Blanc 37

Exemple :

La commande suivante rendra l'invite rouge car nous spécifions 31 (couleur rouge) dans la balise de couleur :

$ PS1="\[\033[31m\]\[email protected]\h:\w$ "

Utiliser les styles de texte dans l'invite Bash

Vous pouvez ajouter des styles à votre texte d'invite en attribuant une valeur d'attribut à une balise de couleur. Voici le format d'une balise de couleur avec un attribut :

\[\033[ATTRIBUT ; COULEURm\]

Vous pouvez utiliser les valeurs d'attribut suivantes pour votre texte d'invite :

Valeur d'attribut Objectif
0 Texte normal (il s'agit de la valeur par défaut même si aucun attribut n'est défini)
1 Dans le terminal Debian, cette valeur spécifie un texte en gras
2 Estomper le texte
4 Souligné du texte
5 Pour le texte clignotant
7 Inverse les couleurs du texte et de l'arrière-plan
8 Pour le texte masqué

Exemple :

Vous pouvez utiliser la commande suivante pour souligner votre invite bash :

$ PS1=”\[\033[4;31m\]\[email protected]\h:\w$ ”

La valeur 4 indique que nous voulons "souligner" le texte.

Apporter des modifications permanentes à l'invite

Les commandes que vous avez exécutées jusqu'à présent ne changeront que l'invite de la session bash en cours. Après avoir expérimenté la personnalisation du texte et la colorisation de votre invite, et atteint une finale que vous souhaitez définir de manière permanente pour toutes vos sessions bash, vous devez modifier votre fichier bashrc.

Ouvrez le fichier .bashrc et copiez la valeur PS1 que vous avez finalisée dans la ligne PS1 sous le if ; puis ligne. Dans l'image suivante, je viens de changer la couleur de mon invite bash en rouge :

Enregistrez le fichier en appuyant sur Ctrl + X puis en appuyant sur Y. Les modifications apportées à votre invite bash seront désormais permanentes. Quittez le terminal et rouvrez-le pour voir que votre invite bash sera toujours la même que celle que vous avez définie.

Après avoir pratiqué avec ce didacticiel, vous pouvez exceller dans la personnalisation de votre invite bash. Vous pouvez ensuite définir des couleurs pour différencier les différentes fonctionnalités que vous avez incorporées dans l'invite. De cette façon, vous pourrez afficher et utiliser ces informations utiles chaque fois que vous utiliserez l'invite bash.


Debian
  1. Comment personnaliser l'invite Bash sous Linux

  2. Comment personnaliser les couleurs et le contenu de Bash dans l'invite du terminal Linux

  3. Personnaliser le Terminal sur Ubuntu 20.04 - comment faire ?

  4. Comment raccourcir l'invite Bash sous Linux ?

  5. Comment supprimer la variable readonly dans bash ?

Comment changer la police du terminal et la taille de la police sur Debian

Personnaliser la ligne de commande Debian

Comment installer Go sur Debian 10

Comment définir une variable d'environnement dans Bash

Comment personnaliser votre invite de terminal Ubuntu

Comment installer Go sur Debian