O terminal do Mac OS X Lion coloca o prompt de comando no meio do PS1 envvar

1

Antes de instalar o Lion abrindo uma janela de terminal, coloquei o cursor no final do prompt assim:

Wed Aug 31{shirsch4@Susan-Hirschs-iMac}/projects/perl/perl/lib/Utils--><cursor>

Agora, quando eu abro uma janela de terminal, coloco o cursor em algum lugar no meio do prompt da seguinte forma:

Wed Aug 31{shirsch4@Susan-Hirsch<cursor>-iMac}/projects/perl/perl/lib/Utils-->

Alguém tem alguma ideia de como posso corrigir isso?

Obrigado!

Como solicitado aqui, é minha configuração para PS1:

/etc/bashrc:PS1="\[3[01;34m\]\d\[3[00;36m\]{\u@\h}\[3[00;35m\]\w\[3[01;34m\]\[3[001;34m\]-->"
    
por ennuikiller 31.08.2011 / 23:28

2 respostas

0

Encontrei a resposta aqui:

No terminal eu tive que ir para Preferências- > Configurações- > Avançado, e mudar xterm-color256 para xterm-color !!

    
por 03.09.2011 / 23:48
1

O erro mais comum que pode causar isso não é usar colchetes ao redor de caracteres não imprimíveis no seu PS1. Quaisquer caracteres que não sejam de impressão devem ser colocados em "\ [… \]" para dizer ao bash para não contá-los ao medir o tamanho do prompt.

Por exemplo, eu tenho isso no meu ~/.bashrc para tornar meu prompt em negrito:

PS1='\['$(tput bold)'\]'"$PS1"'\['$(tput sgr0)'\]'

Cada seqüência de escape é colocada entre colchetes. (Estou usando tput para gerar os códigos em vez de codificá-los como muitas pessoas fazem. Isso é mais portátil e facilita a leitura e a manutenção do shell script.)

No entanto, o PS1 que você postou parece ter colchetes corretos. Além disso, não consigo reproduzir o problema que você está relatando se eu definir meu PS1 igual ao seu. (Estou usando 10.7.1.)

    
por 01.09.2011 / 04:05