Prompt de bash personalizado - problema de posicionamento do cursor [duplicado]

1

Eu sei que há muitas perguntas relacionadas, mas não consegui encontrar outra maneira de obter ajuda sobre esse problema:

Na minha VM do CentOS, criei um script personalizado para o prompt do bash em /etc/profile.d/custom.sh

PS1="\n\e[0;97m\][\D{%d%m%y-%H%M}][\u@\h \W] \n\e[m\]\$ "
export PS1

Meu bash agora é assim:

Noentanto,seeudigitarumcomandolongoeseeuquisercolocarocursornaprimeiraposiçãousandoCTRL-A,éoqueacontece:

Digitadoalgumacoisalonga.Euqueromudaralgumacoisanoiníciodalinha,entãovoupressionarCTRL-Aparacolocarocursornaprimeiraposição:

Depois de pressionar CTRL-A:

Agora,seeutentarexcluiralinhainteiracomDELouBACKSPACE,esteéoresultadofinal?

Não importa o quanto eu tente excluir esses 4 caracteres, eles sempre ficam até eu pressionar a tecla ENTER. Esses últimos 4 caracteres são sempre exibidos, mas é como se eles não existissem .. Eu estou livre para digitar comandos e eles serão ignorados:

Na última foto, executei com sucesso o comando cd /var e agora o bash é como pretendia.

Alguma opinião?

    
por Spirit 06.06.2015 / 13:18

1 resposta

3

Você precisa de um \[ antes de cada \e :

PS1="\n\[\e[0;97m\][\D{%d%m%y-%H%M}][\u@\h \W] \n\[\e[0m\]\$ "
    
por 06.06.2015 / 13:34

Tags