Eu tenho o seguinte prompt no bash, que mostra o ramo git atual:
PS1+="$(git_prompt)" #git_prompt is a function in my .bashrc
que funciona quando eu origino o .bashrc, mas não quando altero a ramificação, portanto a var PS1 só é avaliada quando eu origino o .bashrc, mas deve ser avaliada sempre que um novo prompt é exibido. Como isso pode ser feito com o bash 4.3?
bash: command substitution: line 1: syntax error near unexpected token
) 'bash: substituição de comando: linha 1:git_prompt)'
oldPS1="$PS1"
) e tente:PS1='$(git_prompt) '
Corrigi-o agora usando isso como prompt
antes de concatenar várias seqüências de caracteres para uma de PS1, parecia haver o problema. O truque é escrever um
\
antes de executar o comando com$(git_prompt)
.Então
$(git_prompt)
será avaliado quando o.bashrc
for avaliado e\$(git_prompt)
será avaliado sempre que um novo prompt for exibidofonte
"
ao redor da string. Usar\$(git_prompt)
sem esses não funciona.tente aspas simples no seu ps1
Eu também sugiro minha função psOne
fonte
Quer ver a loucura? É assim que eu construo meu prompt do bash:
Eu não sou um grande fã de cores.
fonte