J'utilise bash sur Macbook Air sous MacOS Mojave et je voulais changer la couleur de l'invite du terminal.
J'ai été aidé sur cette question sur le SO y ce blog d'IBM après quoi j'ai utilisé
export PS1="\[\e[30;47m\]\W\[\e[30;47m\]$\[\e[0m\]"
qui a la couleur, l'habillage, le répertoire de travail et le nom de l'utilisateur. $
.
Ça a changé la couleur mais le message n'a pas été modifié. (base)
o (ml)
en elle. C'est l'environnement virtuel que j'ai créé en utilisant Conda. conda deactivate
le supprime. A l'origine,
$ echo $PS1
(base) \h:\W \u\$ #original prompt with base.
$ conda deactivate
$ echo $PS1
\h:\W \u\$ #original prompt with no environment.
$ conda activate ml
$ echo $PS1
(ml) \h:\W \u\$ #original prompt with ml environment.
$ export PS1="\[\e[30;47m\]\W\[\e[30;47m\]$\[\e[0m\]"
$ echo $PS1
\[\e[30;47m\]\W\[\e[30;47m\]$\[\e[0m\] #new prompt with no environment
#while ml is active
Que puis-je inclure pour que le (base)
o (ml)
là, pour que ce soit comme
$ echo $PS1
(base) \[\e[30;47m\]\W\[\e[30;47m\]$\[\e[0m\] #expected result.
Je n'ai pas trouvé de référence sur manuel bash pour l'environnement virtuel dans la section Contrôle de l'invite.
Je dois trouver où se trouve l'environnement actif actuel. Soit dans n'importe quel fichier ou n'importe quelle commande qui invoque le nom de l'environnement, qui peut être écrit dans ~/.bash_profile et ensuite ajouter cette variable à PS1.