GNU/Linux >> Linux Esercitazione >  >> Linux

Perché il prompt di Bash viene disturbato quando sfoglio la cronologia??

Questa domanda ha già risposte qui :Il prompt del terminale non si avvolge correttamente

(9 risposte)
Chiuso 3 anni fa.

Spesso, quando inizio a guardare la cronologia dei comandi, alcuni dei caratteri di un comando visualizzato non vengono cancellati, ad esempio:

Cosa sta succedendo:

prompt$ some_command
prompt$ some_commanother_command

Cosa sarebbe dovuto succedere:

prompt$ some_command
prompt$ another_command

Non riesco a cancellare quei caratteri e bash li ignora durante l'esecuzione del comando. Scompaiono anche quando viene visualizzato un nuovo prompt (dopo aver premuto Enter per esempio).

Ho chiesto ad altre persone che lavorano su Linux nel mio posto di lavoro e hanno detto che anche loro hanno questo problema a volte, ma non avevano idea di come risolverlo.

Ho Ubuntu 11.10 e sto usando guake. Ecco il mio PS1 :

e[0;31mu A ${PWD##*/}e[0;32m$(parse_git_branch)e[0;31m$e[m

dove parse_git_branch è

parse_git_branch () {
    git name-rev HEAD 2> /dev/null | sed 's#HEAD (.*)# (1)#'
}

Per quanto ne so i miei colleghi hanno quel problema anche con PS1 meno "fantasiosa".

Risposta accettata:

Usa [...] intorno alle parti di PS1 che hanno lunghezza 0. Aiuta bash a ottenere la lunghezza del prompt corretta. Anche con questa misura, la tua riga di comando può essere rovinata quando usi caratteri multibyte (almeno il mio lo fa). Premi Ctrl+L aiuta anche in questi casi (ma allo stesso tempo cancella lo schermo).


Linux
  1. Suggerimenti Bash per tutti i giorni dalla riga di comando

  2. perché ricevo un errore di formato Exec quando scrivo il mio servizio Linux?

  3. Come impostare il colore del prompt dei comandi in Bash?

  4. perché eliminare la cronologia di bash non è sufficiente?

  5. Come trovo il numero di riga in Bash quando si è verificato un errore?

Strano personaggio nel prompt di Bash?

Primi caratteri del comando ripetuti sul display durante il completamento?

Salva la giornata con successo con i comandi della cronologia di Bash

Come aggiungere un'icona al prompt di bash

Perché ricevo Autorizzazione negata quando eseguo ssh-add?

Strano comportamento della cronologia di bash durante l'esecuzione di più sessioni