11Jul
Si vous accédez à plusieurs serveurs tout au long de la journée de travail, il peut être très utile de savoir sur lequel vous travaillez en un coup d'œil, en fonction d'un schéma de couleurs. Le SuperUser Q & A A post d'aujourd'hui aide un lecteur à réaliser un nirvana coloré dans son environnement de travail.
Question d'aujourd'hui &La session de réponse nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.
La question
SuperUser lecteur nitins veut savoir comment changer l'invite Bash quand elle est connectée à un serveur:
Y at-il un moyen de rendre l'invite Bash dynamique afin qu'elle 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 différent sur chacun d'entre eux.
Comment faire en sorte que l'invite Bash change de couleur lorsqu'elle est connectée à un serveur?
La réponse
SuperUser contributeur Matei David a la réponse pour nous:
Remote Bash Invites sont définis par le distant ~ /. bashrc , de sorte que vous aurez toujours besoin de le copier sur les serveurs distants. Toutefois, 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 s'il n'est pas déjà défini( si le shell n'est pasinteractif).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 font cela( sans doute, un test plus précis vérifie si $ - contient i ).
- Si vous voulez que ce code s'exécute lorsque vous vous connectez à un serveur distant, vous devez toujours avoir l'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 le premier plan et l'arrière-plan à leurs valeurs par défaut, donc ici : \ w apparaît dans le premier plan / arrière-plan du terminal.
- \ [033 [48; 5; XXXm \ 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 à quoi ressemblerait l'invite Bash, utilisez: echo -e "& lt; \ 033 [48; 5; 16m \ 033 [38; 5; 196mhost \ 033 [m: dir & gt; $"
Avoir quelque choseajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.
Crédit d'image: Emx( Wikipedia)