Basta remover os colchetes do seu PS1 (também houve um erro de digitação em torno de \t
):
LP=" Last prompt at: "
PS1="\[3[s3[0;0H3[0;47m3[K3[1;34m\$LP \t3[0m3[u\][<\u@\h \W>]\$ "
echo
Eu tenho o Fedora 20 e gostaria de adaptar o prompt do bash para torná-lo ainda mais útil para mim. No momento, meu prompt do PS1 é definido por essas linhas no meu arquivo ~ / .bash_profile:
LP=" Last prompt at: "
PS1="\[3[s3[0;0H3[0;47m3[K3[1;34m[\$LP\]t3[0m3[u[<\u@\h \W>]\$ "
echo
O que me dá uma boa linha no topo da tela, com uma barra cinza (que não aparece nessa cópia) e a hora do último prompt, assim:
[ Last prompt at: ]09:22:46
[<Harry@localhost ~>]$
Sem o echo
, quando uma tela do terminal é aberta, o prompt obscurece a mensagem na linha superior. O que o eco faz é ecoar seu argumento, de modo que quando .bashrc. é executado como um novo terminal é aberto, sem nenhum argumento, ele vai para uma nova linha, deixando a linha superior sozinha. Os prompts subseqüentes não executam .bashrc, portanto, o eco para uma nova linha não acontece.
Minha pergunta aqui é sobre os colchetes "[]" no prompt em torno da string Last prompt at:
. Por favor, como posso evitar que esses parênteses apareçam na mensagem exibida?
RESOLVIDO
Em resposta à resposta do @ guido. Eu já tinha tentado apenas remover os colchetes, mas depois perdi a corda completamente. Eu observo aqui que você adicionou um espaço após o LP, e isso de fato me dá o que eu quero, mas eu não entendo porque o espaço é necessário: por favor, você poderia adicionar à sua resposta para explicar isso?
O Guido já respondeu à sua pergunta específica , mas apenas uma observação:
Além disso, você também pode definir sua região de rolagem para ser da segunda linha, para que a rolagem não apague a linha.
PS1="\[\e[s\e[2;0r\e[H\e[0;47m\e[K\e[1;34m$LP\t\e[0m\e[u\]<\u@\h \W>\$ "
(embora, pessoalmente, eu não fizesse esse tipo de coisa no nível do shell, mas, por exemplo, usando screen
e seu recurso hardstatus)