Como quebrar comandos bash após adicionar cor

1

Meu perfil .bash atual é igual ao abaixo. Eu adiciono algumas cores e adiciono um comando que mostra se estou ou não em um repositório git para o meu PS1 para o meu perfil bash.

ORIG=$PS1
PS1="\[${txtund}${green}\]LOCAL\[\[${reset}\]";
PS1+="\$(prompt_git \"${white} on ${violet}\")";
PS1+="\[${reset}\]";
PS1+=" - \u\$: ";

O problema é que quando executo comandos longos, ele está reescrevendo a linha. Eu quero enrolar meus comandos de modo que, enquanto escrevo, eles vão para a próxima linha. O que eu preciso para envolver o PS1 para que isso ocorra?

UPDATE -

ORIG=$PS1
PS1="\[${txtund}${green}\]LOCAL\[\[${reset}\]";
PS1+="\$(prompt_git \"\[${white}\] on \[${violet}\]\")";
PS1+="\[${reset}\]";
PS1+=" - \u\$: ";

Eu aumentei o número de saídas conforme o comentário abaixo. O envoltório ainda não está funcionando. Alguma outra sugestão?

    
por ILikeTurtles 22.04.2015 / 18:45

1 resposta

2
ORIG=$PS1
PS1="\[${txtund}${green}\]LOCAL\[\[${reset}\]";
PS1+="\$(prompt_git \"\[${white}\] on \[${violet}\]\")";
PS1+="\[${reset}\]";
PS1+="\[ - \u\$: \]";

Eu escapei tanto das cores quanto da linha final do texto. Isso resolve meu problema. É através do uso de [] e cores de escape, bem como texto, eu sou capaz de envolver meus comandos no bash corretamente.

    
por 22.04.2015 / 19:30

Tags