J'ai l'invite suivante dans bash qui montre la branche git actuelle:
PS1+="$(git_prompt)" #git_prompt is a function in my .bashrc
qui fonctionne lorsque je source le .bashrc, mais pas lorsque je change de branche, donc la var PS1 n'est évaluée que lorsque je source le .bashrc, mais elle doit être évaluée chaque fois qu'une nouvelle invite est affichée. Comment cela peut-il être accompli avec bash 4.3?
bash: command substitution: line 1: syntax error near unexpected token
) 'bash: substitution de commande: ligne 1:git_prompt)'
oldPS1="$PS1"
) puis essayez:PS1='$(git_prompt) '
Je l'ai corrigé maintenant en l'utilisant comme invite
avant de concaténer plusieurs chaînes en une chaîne PS1, il semblait y avoir le problème. L'astuce consiste à écrire un
\
avant d'exécuter la commande avec$(git_prompt)
.Ainsi
$(git_prompt)
sera évalué lorsque le.bashrc
est évalué et\$(git_prompt)
sera évalué chaque fois qu'une nouvelle invite est affichéela source
"
entourent la chaîne. L'utilisation\$(git_prompt)
sans ceux-ci ne fonctionne pas.essayez un guillemet simple dans votre ps1
je suggère aussi ma fonction psOne
la source
Vous voulez voir la folie? Voici comment je construis mon invite bash:
Je ne suis pas un grand fan de couleur.
la source