Si vous accédez à plusieurs serveurs pendant la journée de travail, vous pouvez dire à quel serveur vous travaillez Un regard basé sur un schéma de couleurs peut être très utile.
La question
Y a-t-il un moyen de rendre le Bash Prompt dynamique afin qu'il change de couleur quand je suis connecté à un serveur ? Je veux que la couleur soit verte lorsque j'utilise mon propre système personnel, mais passe au rouge chaque fois que je suis connecté à des serveurs. J'ai un grand nombre de serveurs auxquels j'accède et je ne veux pas avoir à mettre un
.bashrc différent sur chacun d'entre eux Comment faire en sorte que l'invite de bascule change de couleur lorsqu'elle est enregistrée dans un serveur?
Le contributeur SuperUser de la réponse
Les invites de Bash distantes sont définies par la télécommande
~ / .bashrc , vous devrez donc toujours copiez-le sur les serveurs distants. Cependant, vous pouvez utiliser un seul ~ / .bashrc pour tous les hôtes et définir la couleur Bash Prompt en fonction du nom d'hôte: Notes
Ne pas définir
- PS1 si il n'est pas déjà défini (c'est-à-dire si le shell n'est pas interactif). Test pour voir si PS1 est "non vide" est un moyen très courant de savoir si le shell est interactif et vous ne voulez pas confondre les programmes qui le font (un test plus précis vérifie pour voir si $ - contient i ). Si vous voulez que ce code s'exécute lors de la connexion à un serveur distant, vous devez toujours avoir un des fichiers de profil source
- ~ / .bashrc (Je suppose que vous le savez). Dans
- PS1 , les codes d'échappement doivent être inclus dans [... ] . [033 [m
- réinitialise l'avant-plan et l'arrière-plan à leurs valeurs par défaut, ici : w apparaît dans le premier plan / arrière-plan. [033 [48; 5; 033 [38; 5; YYYm
- définit l'arrière-plan / premier plan sur XXX / YYY . Pour un script qui récupère les couleurs disponibles, essayez colortest.
- Pour vérifier et voir ce Bash Prompt ressemblerait, utilisez:
- echo -e " $" <