Modification de l'invite bash

9

Où est le paramètre qui détermine à quoi ressemble l'invite bash? Plus précisément sur Arch, mais je suis sûr que d'autres aimeraient aussi savoir pour d'autres distributions si c'est différent.

Spécifiquement, j'aimerais utiliser l'invite (K) Ubuntu

Falmarri
la source

Réponses:

11

Les variables d'environnement "$ PS1" et "$ PS2" définissent l'apparence de l'invite. Vous pouvez vérifier ce howto afin de voir toutes les différentes variables que vous pouvez y mettre. "

tante
la source
6

Comme l'a dit tante, vous devez définir $PS1(l'invite de gauche) (et éventuellement $PS2(l'invite de deuxième ligne)).

(D'autres variables existent sur d'autres shells comme $RPS1(invite de droite) pour zsh)

La meilleure chose à faire est de modifier votre .bashrcfichier dans votre répertoire personnel et d'ajouter quelque chose comme:

export PS1=...

Je vais vous donner un lien supplémentaire que je trouve toujours utile car il y a une bonne liste des couleurs disponibles.

Elenaher
la source
2
$PS2est l'invite que vous obtenez lors de l'écriture d'une commande sur plusieurs lignes, pas la bonne invite. L'invite de droite serait $RPS1(et en $RPS2conséquence pour plusieurs lignes) sur zsh - bash n'a pas d'invite de droite.
sepp2k du
1
$ PS2 contient la deuxième ligne d'invite si un shell a besoin de plus d'entrée, pas la bonne invite.
echox
En effet, je viens de m'embrouiller quand j'ai écrit cette réponse. Corrigée.
Elenaher
Vous devriez probablement supprimer complètement le bit sur la bonne invite car cela n'existe que dans zsh et la question concerne bash.
sepp2k du
@seppk: merci pour le commentaire. J'utilise zsh depuis de nombreuses années et ici au travail, je dois utiliser bash. Je n'ai pas remarqué que RPS1 n'était pas disponible dessus.
Elenaher
3

Comme d'autres l'ont dit, cela est déterminé par les variables environnementales PS1et PS2.

La valeur par défaut d'Ubuntu ps1est:${debian_chroot:+($debian_chroot)}\u@\h:\w\$

Vous voudrez donc exécuter ce qui suit:

export PS1=${debian_chroot:+($debian_chroot)}\u@\h:\w\$

Pour l'exécuter à chaque fois que vous vous connectez, mettez-le dans votre ~/.bashrcfichier:

echo "export PS1=${debian_chroot:+($debian_chroot)}\u@\h:\w\$" >> ~/.bashrc
Josh
la source
1

Puisque vous avez posé une question spécifique sur Arch (enfin, cela n'a pas vraiment d'importance, mais cela constitue une excuse intéressante pour ajouter aux réponses ...), vous devriez regarder cette entrée dans Arch Wiki: Color Bash Prompt . Et pour encore plus de plaisir, ce fil dans les forums Arch: Quelle est votre PS1? . (Des pages et des pages de personnes essayant de se surpasser avec des invites de plus en plus élaborées ... c'est l'utilisateur Arch typique pour vous.)

frabjous
la source