Comment puis-je obtenir un bash coloré?

58

Comment puis-je que le bash soit coloré comme ça?

    
posée daniel451 29.08.2014 - 18:55
la source

4 réponses

39

Je suis venu avec cette solution:

  • ouvrir ~ / .bashrc dans un éditeur
  • copiez ceci et ajoutez-le à la fin du fichier .bashrc:

    PS1='\[3[1;36m\]\u\[3[1;31m\]@\[3[1;32m\]\h:\[3[1;35m\]\w\[3[1;31m\]$\[3[0m\] '
    
  • enregistrez le fichier et redémarrez bashrc:

    source ~/.bashrc
    

Pour une liste complète des couleurs disponibles et d’autres options, consultez ces liens:

réponse donnée daniel451 29.08.2014 - 18:55
la source
92

Ouvrez ~/.bashrc dans l'éditeur de texte et la ligne de suppression de commentaire:

#force_color_prompt=yes

être:

force_color_prompt=yes

enregistrer puis exécuter source ~/.bashrc

    
réponse donnée To Kra 14.12.2015 - 10:45
la source
3

Une version un peu plus générale - devrait fonctionner dans un environnement varié:
(dépend de terminfo)

Insérez ceci dans votre $HOME/.bashrc :

function fgtab {
  echo "tput setf/setb - Foreground/Background table"
  for f in {0..7}; do
    for b in {0..7}; do
      echo -en "$(tput setf $f)$(tput setb $b) $f/$b "
    done
    echo -e "$(tput sgr 0)"
  done
}

# The prompt in a somewhat Terminal -type independent manner:
cname="$(tput setf 3)"
csgn="$(tput setf 4)"
chost="$(tput setf 2)"
cw="$(tput setf 6)"
crst="$(tput sgr 0)"
PS1="\[${cname}\]\u\[${csgn}\]@\[${chost}\]\h:\[${cw}\]\w\[${csgn}\]$\[${crst}\] "

Ensuite, exécutez source ~/.bashrc .

Après cela, fgtab affichera une table de couleurs avec des nombres. Ces nombres sont pour tput setf n et tput setb n où 'n' est le nombre, 'f' pour 'premier plan' et 'b' pour 'arrière-plan'.

tput sgr 0 réinitialisera les couleurs de premier plan et d'arrière-plan par défaut.

Et comme vous pouvez le constater, changer les couleurs utilisées pour l’invite devient très simple (modifiez simplement le même nombre en $HOME/.bashrc que vous le souhaitez).

Ajoutez un $(tput setb n) à $cname si vous souhaitez que l’ensemble de l’invite soit en arrière-plan n.

    
réponse donnée Hannu 29.08.2014 - 22:14
la source
-1

@ daniel451 Essayez ceci dans votre $ HOME / .bashrc

PS1='\[3[6;31m\]-daniel\[3[5;51m\]@\[3[3;33m\]UbuntuUltrabook\[3[3;35m\]$\[3[0;34m\]\a\[3[0m\] '

vous aurez ce que vous attendiez.

    
réponse donnée kva 16.11.2017 - 07:25
la source

Lire d'autres questions sur les étiquettes