20 votes

Comment (et où) changer le motif 'user@host $:' dans gnome-terminal ?

Quand je lance le terminal dans Ubuntu, je vois :

ilya@HOST:~$

J'ai besoin d'ajouter un horodatage à cela, quelque chose comme :

2011-10-09T09:32:00 ilya@HOST:~$

Comment puis-je le configurer ?

18voto

enzotib Points 86709

Mettez ceci à la fin de votre ~/.bashrc

PS1="\D{%F}T\t $PS1"

Puis redémarrez votre terminal. Pour des explications, lisez la page de manuel de bash, cherchez ^PROMPTING

(désolé, la première version de cette réponse signalait par erreur des guillemets simples au lieu de doubles)

9voto

scott8035 Points 72

Il y a une bonne article sur la façon de changer votre invite bash et sur ce que sont tous les symboles spéciaux (tels que \h ) signifie. Il contient également un lien sur la façon de modifier les couleurs dans votre invite.

Pour ce qui est d'appliquer les changements dans votre .bashrc, il suffit d'exécuter source ~/.bashrc

3voto

Hafthor Points 5663

Pour appliquer la modification de ~/.bashrc, tapez ceci dans le terminal en cours d'exécution :

exec bash

Il n'est pas nécessaire de redémarrer le terminal. Ceci est utile pour chaque changement (dans l'environnement du terminal)

3voto

Michael Durrant Points 10116

Je trouve qu'une bonne configuration est d'avoir 3 groupes colorés :

  • nom d'utilisateur et nom d'hôte
  • emplacement actuel
  • branche git actuelle

Plus un saut de ligne pour que vous soyez de retour sur le côté gauche !

c'est-à-dire
enter image description here

Vous pouvez avoir tout cela en ayant les éléments suivants dans votre fichier .bashrc dans votre répertoire personnel.
Fonctionne pour Unix et OS X

parse_git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;33m\]$(parse_git_branch)\[\033[00m\]\n\$ '

Si vous voulez ceci plus vos timestamps en quatre couleurs vous pouvez avoir :

$ PS1='\033[01;31m\] \D{%F} \t \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;33m\]$(parse_git_branch)\[\033[00m\]\n\$ '

comme dans :

enter image description here

bien que personnellement je pense que je vais maintenant aller avec :

parse_git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
}
PS1='\033[01;31m\]\t\033[00m\]:'
PS1=$PS1'\[\033[01;32m\]\u@\h\[\033[00m\]:'
PS1=$PS1'\[\033[01;34m\]\w\033[00m\]:\033[01;33m\]$(parse_git_branch)\[\033[00m\]\n\$ '
PS2='\[\033[01;36m\]>'

pour

enter image description here

0voto

qubodup Points 231

Pour faire cela temporairement mais immédiatement/à la volée, par exemple pour avoir un peu d'intimité lors de la réalisation d'un screencast, vous pouvez procéder comme suit

echo PS1='$\ ' > /tmp/ps1 && source /tmp/ps1 && rm /tmp/ps1

La variable PS1 définit le format, la source applique ce paramètre en lisant un fichier.

Maintenant, la ligne de commande ressemble à ceci :

$

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X