Pode funcionar para desativar a saída do terminal enquanto o prompt é gerado:
PROMPT_COMMAND="PS1=\$(stty -echo)\'/home/username/my-prompt.sh\'\$(stty echo)"
Eu tenho um prompt Bash que demora um pouco (~ 100-200ms) para gerar, porque inclui o status da árvore de trabalho Git, que leva algum tempo para ser computado. Às vezes, começo a digitar um comando antes de aparecer, mas o comando é incorreto.
Aqui está o que eu vejo no terminal:
# I start typing:
some command...
# then the prompt appears:
some command...username [branch*] some/directory $ some command...
# then I type some more, causing the command to wrap:
some command...username [branch*] some/directory $ some command...wra
pping text 1
# and when I continue typing, the text overwrites the second line:
some command...username [branch*] some/directory $ some command...wra
wrapping text 2
Alguma ideia de como evitar isso?
Veja como meu prompt do Bash está configurado:
# in .bashrc:
PROMPT_COMMAND="PS1=\'/home/username/my-prompt.sh\'"
# in /home/username/my-prompt.sh:
$PROMPT=...
$PROMPT+=...
echo -ne $PROMPT
Acredito que eu configurei todos os meus \[
e \]
s corretamente dentro do $ PROMPT. O problema aparece apenas quando começo a digitar antes que o prompt seja exibido e meu comando é encerrado.
Sugiro que você traga seu terminal para o modo sane (brincando) usando
stty sane # I hope it'll help and bring back the working of default prompt.