Comment changer de bash invite

Comment changer de bash invite

L'invite «bash» sur l'interface de ligne de commande est ce peu de texte qui précède vos commandes. C'est généralement le nom d'utilisateur suivi du nom d'hôte sur la plupart des systèmes, donc la syntaxe peut ressembler à quelque chose comme user @ linuxconfig $ Par exemple. Il suffit de dire que l'invite de ligne de commande bash par défaut sur de nombreux systèmes Linux est assez minime.

Comme nous le verrons dans cet article, il peut être facilement modifié en modifiant le bash Ps n variables, et nous pouvons inclure des informations telles que le temps d'affichage, le chargement, le nombre d'utilisateurs utilisant le système, la disponibilité et plus. Dans ce tutoriel, vous verrez comment embellir votre invite bash avec des couleurs et des informations supplémentaires sur un système Linux.

Dans ce tutoriel, vous apprendrez:

  • Quelles sont les variables de coquille PS1 et PS2
  • Comment créer des invites de shell personnalisées
  • Quels sont les caractères que nous pouvons utiliser pour personnaliser une invite de shell
Comment changer de bash invite Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel Coquille
Autre Connaissance minimale de la coquille de bash. Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Variables rapides de bash




Comme tout le reste sur un système Linux, il en va de même pour l'invite bash peut également être personnalisée. Nous pouvons accomplir la tâche en modifiant les valeurs de bash PS1, PS2, PS3, et PS4 variables. Pour garder les choses simples, cet article se préoccupera des deux premiers. Utilisez le écho commande pour voir leurs valeurs actuelles:
$ echo "BASH PS1 Variable:" $ ps1 $ echo "BASH PS2 Variable:" $ ps2 
Invite de bash ps1 et ps2

Variable invite de bash PS1

PS1 est la principale variable invite. Le nôtre est actuellement:

\ [\ e] 0; \ u @ \ h: \ w \ a \] $ debian_chroot: + ($ debian_chroot) \ [\ 033 [01; 32m \] \ u @ \ h \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ w \ [\ 033 [00m \] \ $ 

Cela a l'air un peu déroutant, car une grande partie était utilisée pour définir les couleurs que vous voyez dans la capture d'écran ci-dessus. Le point à retenir ici est l'utilisation des personnages de bash spéciaux \ u (utilisateur), \ H (nom d'hôte), et \ w (Répertoire de travail actuel). Ces types de caractères nous permettent d'afficher des informations personnalisées qui changeront avec les circonstances de l'invite bash. Plus d'entre eux seront couverts ci-dessous.

Variable invite de bash PS2

PS2 La variable de coquille de bash est l'invite secondaire et est généralement réglé sur >. Cette invite s'affiche si le shell attend une entrée utilisateur, par exemple si vous utilisez des guillemets et oubliez de les fermer.

$ echo "Texte avec des citations manquantes> 
Diagramme invite de bash de Linux

Bash Invite Special Characters

L'invite bash peut être personnalisée en utilisant des caractères spéciaux. Voici un aperçu rapide des personnages les plus utilisés et leur signification:



Bash Invite Special Characters
Bash Character Special Bash Explication du caractère spécial Bash Character Special Bash Explication du caractère spécial
\un un caractère de cloche ASCII (07) \d La date au format «Date du mois de la semaine» (E.g., «Mais 26 mai»)
\] mettre fin à une séquence de caractères non imprimés \ e Un caractère d'échappement ASCII (033)
\ H le nom d'hôte jusqu'au premier '.' \ H le nom d'hôte
\ j le nombre d'emplois actuellement gérés par le shell \ l le nom de base du nom du périphérique du terminal de la coquille
\ n nouvelle ligne \ r retour en chariot
\ s Le nom de la coquille, le nom de base de 0 $ (la partie suivant la finale
sabrer)
\ t L'heure actuelle en 24 heures HH: MM: Format SS
\ T L'heure actuelle en 12 heures HH: MM: Format SS \ @ L'heure actuelle au format 12 heures AM / PM
\UN L'heure actuelle au format HH: MM 24h / 24 \ u le nom d'utilisateur de l'utilisateur actuel
\ V La version de Bash (E.g., 2.00) \ V La sortie de Bash, Version + Patchelvel (E.g., 2.00.0)
\ w Le répertoire de travail actuel \ W le nom de base du répertoire de travail actuel
\! le numéro d'histoire de cette commande \ # le numéro de commande de cette commande
\ $ Si l'UID efficace est 0, un #, sinon un $ \ nnn le caractère correspondant au nombre octal nnn
\\ une barre oblique inverse \ [ Commencez une séquence de caractères non imprimants, qui pourraient être utilisés pour intégrer un
Séquence de contrôle du terminal dans l'invite
\ D format Le format est transmis à Strftime (3) et le résultat est inséré
dans la chaîne invite; Un format vide se traduit par une période spécifique aux paramètres régionaux
représentation. Les accolades sont nécessaires

Personnalisation de l'invite de bash

Une fois qu'un utilisateur s'est connecté au système, les variables d'environnement utilisateur sont initialisées à partir de divers fichiers:

  • / etc / profil ou / etc / bashrc (Wide System)
  • ~ /.bash_profile , ~ /.bash_login , ~ /.profil , ~ /.bashrc ou ~ /.bash_logout (spécifique à l'utilisateur)
SAVIEZ-VOUS?
Il est important de savoir que toutes les variables d'environnement utilisateur ont une durée de vie égale à la session terminale. Lorsque la session terminale est fermée, les variables de l'utilisateur, y compris les variables de coquille de bash, définies lors d'une session terminale sont vidées et redéfinies à nouveau lorsqu'une nouvelle session de terminal est créée.

Dans les sections ci-dessous, nous définirons deux variables pour prouver cette déclaration.

Personnalisation des instructions de la variable bash étape par étape

Nous allons maintenant modifier le ~ /.bashrc Fichier de configuration pour afficher une invite de bash personnalisée. Comme mentionné ci-dessus, nous devrons déconnecter notre session de terminal actuelle et nous reconnecter pour remarquer les modifications qui prennent effet ou simplement utiliser le source Commande comme indiqué ci-dessous.

  1. Utilisez Nano ou un autre éditeur de texte pour modifier le ~ /.bashrc déposer. Alternativement, nous pouvons écho les nouveaux paramètres de l'invite de shell dans le fichier.
    $ echo "ps1 = 'ma nouvelle invite de bash @ \\ t: \\ w \\ $'" >> ~ /.bashrc 



  2. Faire prendre effet les modifications avec les éléments suivants source commande.
    $ source ~ /.bashrc 
  3. Vous devriez maintenant voir la nouvelle invite:
    Ma nouvelle invite bash @ 16: 42: 58: ~ $ 
    Invite bash personnalisée sur Linux

Changer les couleurs invites du premier plan et des bash

Voir le tableau ci-dessous pour les différentes couleurs utilisées pour modifier l'arrière-plan de l'invite de la coque bash et le premier plan:

Couleur Numéro de premier plan Numéro de fond
Noir 30 40
Rouge 31 41
Vert 32 42
Brun 33 43
Bleu 34 44
Violet 35 45
Cyan 36 46
Gris clair 37 47

Pour changer la couleur de votre invite bash, la syntaxe suivante est utilisée:

export ps1 = '\ [\ e [CODE COULEURm \] [Exemple] \ [\ e [0m \] $ ' 
  • \ e [ = Marque le début d'un mod de couleur
  • Color = Le numéro de couleur souhaité, suivi de m
  • \ e [0m = Marque la fin d'un mod de couleur

Certains exemples, en utilisant cette syntaxe, peuvent être vus ci-dessous.



Exemples de bash

  1. Une invite de bash rouge:
    export ps1 = "\ e [31m [exemple] \ e [0m $" 
  2. Une invite pour bash pourpre:
    export ps1 = "\ e [35m [exemple] \ e [0m $" 
    Divers exemples d'invites bash sur Linux. S'adapter au besoin pour répondre à vos besoins
  3. Affichez l'heure actuelle dans l'invite de bash:
    export ps1 = "\ u @ \ h \ t: \ $" 
  4. Cette invite bash affiche le nombre actuel de fichiers et répertoires dans le répertoire actuel.
    export ps1 = "\ u @ \ h [\ $ (ls | wc -l)]: \ $" 

Réflexions de clôture




Dans ce tutoriel, nous avons vu comment changer l'invite bash dans l'interface de ligne de commande sur un système Linux. Non seulement cela peut rendre notre terminal de ligne de commande beaucoup mieux, mais nous pouvons également utiliser les caractères spéciaux de Bash pour afficher de nombreuses informations utiles. N'hésitez pas à adapter certains de nos exemples à vos propres besoins, afin que vous puissiez obtenir une belle invite de bash avec des informations utiles en même temps.

Tutoriels Linux connexes:

  • Comment utiliser la commande de disponibilité sur Linux
  • À quelle fréquence devez-vous redémarrer votre serveur Linux?
  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Masterring Bash Script Loops
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Commandes Linux de base
  • Comment changer le nom d'hôte sur Linux