bashrc PS1: o prompt do usuário não limpa todo o texto [duplicado]

6

prompt de usuário:

user - / :

teclas para cima / baixo para localizar comandos históricos.

user - / : historical command

limpe o "comando histórico":

user - / :hist

Não importa quantas vezes eu acesse o BackSpace .. não é possível excluir a parte "hist".

tecnicamente não está nem aí. mas na tela simplesmente não vai sair até eu apertar "enter"

user - / :hist
user - / :

o que causa isso?

O problema é provavelmente devido às cores que usei aqui. mas como isso pode ser corrigido?

PS1="\[3[38;5;190m\]\u - \W : \e[m"
    
por VIE 03.03.2017 / 09:50

1 resposta

8

Sua última sequência de escape ANSII não está concluída. O código de redefinição ( \e[0m ), como os outros, precisa de um [ . Altere seu PS1 para:

PS1="\[3[38;5;190m\]\u - \W : \[\e[0m"

Ou para manter as coisas consistentes:

PS1="\[3[38;5;190m\]\u - \W : \[3[0m"
    
por 03.03.2017 / 10:20