Juste pour développer la réponse d'Oli (et pour que j'ai un marque-page pour ces symboles abrégés):
L'invite bash ( stefano@linux:~$
) n'est que la première d'une paire d'invites que vous pourriez voir:
PS1 : l'invite par défaut que vous voyez lorsque vous ouvrez un shell
Sa valeur est stockée dans une variable d’environnement appelée PS1
. Pour voir sa valeur, tapez
echo $PS1
Cela vous donnera quelque chose comme
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Pour le changer, vous pouvez définir une nouvelle valeur pour la variable:
export PS1="\u > "
Cela se traduira par une invite comme ceci:
stefano >
PS2 : est votre invite secondaire. Ceci est montré quand une commande n'est pas finie. Tapez echo "asd
et appuyez sur Entrée, l'invite secondaire vous permettra d'entrer plus de lignes jusqu'à ce que vous fermiez les guillemets.
PS3 est l'invite utilisée pour select
(2)
PS4 est l'invite utilisé pour les traces de pile (par défaut: +
)
Pour rendre les modifications permanentes, vous les ajoutez à la fin .bash_profile
(ou .bashrc
, voir cette question ) dans votre répertoire personnel.
Voici une liste plus ou moins complète de raccourcis que vous pouvez utiliser pour les composer:
\a
Le caractère "cloche"
\A
24h heure
\d
Date (par exemple, mardi 21 décembre)
\e
Le personnage 'évasion'
\h
Nom d'hôte (jusqu'au premier ".")
\H
Nom d'hôte
\j
Nombre d'emplois en cours d'exécution (ps)
\l
Tty actuel
\n
Saut de ligne
\t
Temps (hh: mm: ss)
\T
Heure (hh: mm: ss, format 12h)
\r
Retour de chariot
\s
Shell (c'est-à-dire bash, zsh, ksh ..)
\u
Nom d'utilisateur
\v
Version Bash
\V
Full Bash release string
\w
Répertoire de travail actuel
\W
Dernière partie du répertoire de travail actuel
\!
Indice actuel dans l'histoire
\#
Index de commande
\$
Un "#" si vous êtes root, sinon "$"
\\
Backslash littéral
\@
Heure (format 12h avec am / pm)
Vous pouvez bien sûr insérer n'importe quelle chaîne littérale, et n'importe quelle commande:
export PS1="\u \$(pwd) > "
Où $(pwd)
se tient à la place de "la sortie de" pwd.
- Si la substitution de commande est échappée, comme dans
\$(pwd)
, elle est évaluée chaque fois que l'invite est affichée, sinon, comme dans $(pwd)
, elle n'est évaluée qu'une fois au démarrage de bash.
Si vous souhaitez que votre invite comporte des couleurs, vous pouvez utiliser les codes de couleur de bash pour le faire. Le code comprend trois parties:
40;33;01
Chaque partie peut être omise, en partant de la gauche. c'est-à-dire que "1" signifie gras, "1; 31" signifie gras et rouge. Et vous obtiendrez votre terminal pour imprimer en couleur en échappant l'instruction avec \33[
et en la terminant par un m
. 33, ou 1B en hexadécimal, est le signe ASCII "ESCAPE" (un caractère spécial dans le jeu de caractères ASCII). Exemple:
"\33[1;31mHello World\33[m"
Imprime "Hello World" en rouge vif.
export PS1="\n___"