J'ai configuré une invite fantaisiste à deux lignes PS1
bash, avec le nom du serveur, l'heure, le nom d'utilisateur et d'autres variables utiles.
PS1="\n\[\033[1;34m\]\342\226\210\342\226\210 \u @ $SERVER_NAME""$BBlue"" \w""$Color_Off \n\[\033[0;36m\]\342\226\210\342\226\210 \d \t $ \[\033[0;39m\]"
Source complète de Github ici .
Le problème est que les longues lignes sont souvent enroulées autour d'elles-mêmes, ce qui signifie que la nouvelle ligne chevauche la précédente.
Le problème est incohérent: certaines lignes sont correctement mises en forme, d'autres pas.
Une idée comment résoudre ce problème?
Voici mon fantaisie PS1 à deux lignes pour bash Prompt.
\[\e[1;32m\]\H\[\e[0m\] :: \[\e[1;30m\]\d\[\e[0m\] \@ :: \[\e[1;33m\]\w\n\[\e[1;34m\]\u $ \[\033[0m\]
Alors voici ce que j'ai fait. Si c'était ma couleur:
\e[1;32m
Je l'ai changé pour:
\[\e[1;32m\]
Essentiellement, vous devez l'inclure dans:
\[$mycolor\]
Commander ceci réponse .
Trouvé cette solution en ligne, qui suggérait des crochets de fermeture pour les variables de couleur:
Change ça:
Black='\e[0;30m' # Black
Red='\e[0;31m' # Red
Green='\e[0;32m' # Green
à:
Black='\e[0;30m\]' # Black
Red='\e[0;31m\]' # Red
Green='\e[0;32m\]' # Green
J'ai engagé le changement - espérons que cela fonctionne comme prévu.
Ma solution préférée au problème du chevauchement des lignes longues dans PS1 bash est d’avoir un \n
à la fin des lignes d’invite PS1.
par exemple.
Si vous voulez tous mes autres trucs - heure, utilisateur, hôte, répertoire et branche git (!), Vous pouvez utiliser ceci (mac ou linux):