Ho trovato un fastidioso bug mentre coloravo il prompt del mio terminale. Se ho impostato la mia richiesta di uno di colore, come ad esempioL'impostazione dei colori nel terminale porta a un limite di caratteri straniero
export PS1='\e[1;34m[\e[0;31m\D{%Hh%M} \e[0;32m\u\e[[email protected]\e[0;35m\h\e[0m:\e[0;36m\w\e[1;34m]\e[0m $ '
poi inizia a rompersi quando ho un po 'formato nella linea di entrata:
In altre parole, quando la mia linea raggiunge un certo limite, ricomincia da solo! Una volta che riempio la stessa linea, allora funziona bene, andando alla riga successiva.
Qualcuno ha mai visto questo problema? hai una soluzione? Il problema si verifica anche in iTerm.
La sintassi è atroce. A colpo d'occhio, non hai una parentesi graffa per chiudere tutto (prima dei $). Ci sono altri problemi Suggerisco di ricominciare. Ecco una guida alla colorazione: http://www.ibm.com/developerworks/linux/library/l-tip-prompt/ –
Nota a margine: quando personalizzi il prompt, usa '\ $' piuttosto che un segno di dollaro letterale. Bash mostrerà il carattere prompt appropriato ('$' per gli utenti normali, '#' per root). –
Un altro consiglio di stile: non eseguire sequenze di escape con hard-code (mi rendo conto che la maggior parte delle persone lo fa, ma non dovrebbero farlo). Invece, usa 'tput' per emettere i codici appropriati per il terminale corrente, in modo che funzioni appropriatamente con vari terminali. In particolare, non produrrà nulla se il terminale non supporta i colori/stili nel prompt, piuttosto che emettere caratteri che potrebbero confondere il terminale. ad esempio, 'PS1 =" \ [$ (tput setaf 1) \] \ h: \ W \ [$ (tput sgr0) \] \ u \ $ "' visualizzerà il nome host e la directory di lavoro in rosso. –