Tengo el siguiente mensaje en bash que muestra la rama git actual:
PS1+="$(git_prompt)" #git_prompt is a function in my .bashrc
que funciona cuando obtengo el .bashrc, pero no cuando cambio la rama, por lo que la var PS1 solo se evalúa cuando obtengo el .bashrc, pero debe evaluarse cada vez que se muestra una nueva solicitud. ¿Cómo se puede lograr esto con bash 4.3?
bash: command substitution: line 1: syntax error near unexpected token
) 'bash: sustitución de comando: línea 1:git_prompt)'
oldPS1="$PS1"
) y luego intente:PS1='$(git_prompt) '
Lo arreglé ahora usando esto como indicador
Antes de concatenar varias cadenas a una cadena PS1, parecía haber un problema. El truco es escribir un
\
antes de excitar el comando con$(git_prompt)
.Entonces
$(git_prompt)
se evaluará cuando.bashrc
se evalúe y\$(git_prompt)
se evaluará cada vez que se muestre una nueva solicitudfuente
"
la cadena. Usar\$(git_prompt)
sin esos no funciona.prueba comillas simples en tu ps1
También sugiero mi función psOne
fuente
¿Quieres ver locura? Así es como construyo mi indicador de bash:
No soy un gran fanático del color.
fuente