Se você estiver realmente usando aspas duplas ao definir seu PROMPT
, todos os parâmetros serão substituídos na definição e não toda vez que o prompt for impresso. Você pode evitar isso citando $VIRTUAL_ENV
de maneira diferente.
Como colocar o prompt inteiro dentro de aspas simples para impedir a substituição de $VIRTUAL_ENV
provavelmente interromperá o restante do prompt, tente citar apenas o $
, prefixando um \
, como este
PROMPT="╭─${user_host} ${current_dir} [\${VIRTUAL_ENV}] ${rvm_ruby} ${git_branch}
╰─%B${user_symbol}%b "
Eu suspeito que os outros parâmetros funcionem porque eles são substituídos por algo que é então avaliado a cada vez. Por exemplo, ${user_host}
é provavelmente substituído por algo que contenha pelo menos o prompt de escape %n
e %m
com @
entre.
${LANG}
funciona porque já contém o valor esperado quando você define o prompt.
Você pode confirmar isso facilmente executando:
echo $PROMPT