Comment puis-je obtenir une bash couleur?

87

Comment puis-je obtenir la bash pour avoir une telle couleur?

bash couleur

daniel451
la source
daniel451 comment as-tu répondu à ta propre question dans les mêmes délais?
Kva
4
@kva Répondre à votre propre question en même temps que l'envoi de messages est encouragé sur le réseau Stack Exchange.
CJ Dennis
Connexe: askubuntu.com/questions/123268/… . Il explique comment certaines parties de l'invite peuvent être colorées différemment.
FreezingFire

Réponses:

128

Ouvrir ~/.bashrcdans 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

À Kra
la source
Ne répond pas exactement à la question, mais j'aime mieux ce résultat (moins distrayant).
James Hirschorn
Je pense que ça répond. pourquoi pas ?
à Kra
Voici à quoi ressemble le mien après votre méthode:! 2016-10-25 16: 12: 15.png Pas exactement comme dans la question.
James Hirschorn
@JamesHirschorn force_color n'active que les couleurs. Vous pouvez toujours gérer l'apparence de la coloration avec la variable PS1. Voir mon exemple dans l'un de mes scripts github.com/to-kra/dotfiles/blob/master/scripts/…, ce qui active également le statut Git . .. vous pouvez exporter votre propre PS1 dans le profil utilisateur et créer des couleurs et un format fantaisistes à votre goût. Merci
à Kra
Est-ce force_color_prompt=yesla manière prévue d'activer les couleurs? Pour moi, forcer semble être une solution de contournement.
Jaakko
60

Je suis venu avec cette solution:

  • ouvrir ~ / .bashrc dans un éditeur
  • copier ceci et l'ajouter à la fin du fichier .bashrc:

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

    source ~/.bashrc

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

daniel451
la source
Vous voudrez peut-être vérifier l'invite liquide. C'est une petite invite très riche en informations. google.com/…
Scott Goodgame Le
Choix de couleur parfait!
Puck
Une interface graphique en ligne, le générateur Easy Bash PS1
Jim Fred
3

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

Insérer 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}\] "

Alors exécutez source ~/.bashrc.

Après cela, fgtabaffichera une table de couleurs avec des nombres. Ces nombres sont pour tput setf net tput setb noù «n» est le nombre, «f» signifie «premier plan» et «b» signifie «couleur de fond».

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

Et comme vous pouvez le constater, il devient très facile de changer les couleurs utilisées pour l'invite (il suffit de modifier le même numéro à $HOME/.bashrcvotre guise).

Ajoutez un $(tput setb n)in $cnamesi vous souhaitez avoir TOUTES les invites avec arrière-plan n.

Hannu
la source
man 5 terminfomontre ce qui tputpeut être utilisé avec, c’est un peu technique bien que "tenez-vous en" - mais un peu de devinettes et de tests peut vous permettre de le faire fonctionner.
Hannu