Terminal PS1 e colori

4

Sono usato da Linux per avere un prompt colorato nelle mie shell e voglio anche implementarlo nel mio OS X Terminal.app. Il terminale reagisce diversamente però. Se uso il mio normale codice PS1, il lato destro di ogni linea verrà tagliato in un punto strano (sicuramente non nella parte destra della finestra del Terminale). E anche la riga successiva non verrà visualizzata nella riga successiva ma sulla stessa riga.

reazione attesa:

erik2:~[06:46 am]$ expectedexpectedexpectedexpectedexpectedexpectedexpect
edexpected_

reazione reale:

ectedexpected_am]$ expectedexpectedexpectedexpectedexp

È normale per il terminale? C'è un'alternativa? Ho appena scritto qualcosa di sbagliato? Dai un'occhiata al mio codice PS1:

export PS1="3[0;34m\u:\W\e[0;32m[\@]\e[m3[0;34m$3[m "
    
posta erikbwork 04.04.2011 - 09:05
fonte

1 risposta

4

Devi sfuggire alle parti non stampabili del prompt circondandole con \[…\] .

export PS1="\[3[0;34m\]\u:\W\[\e[0;32m\][\@]\[\e[m3[0;34m$3[m\] "

Altrimenti, readline si confonde con lo spazio rimanente sulla riga di comando.

    
risposta data 04.04.2011 - 09:45
fonte

Leggi altre domande sui tag