Il prompt del terminale è incasinato dopo aver modificato il valore di PS1


9

Ho inserito con noncuranza un comando nel terminale che avrebbe dovuto essere in uno script di shell:

export PS1=$PATH:~/drush23/drush/

ora nel mio terminale invece di questo:

ubuntu@ip-10-16-134-18:/home/ubuntu$

Lo vedo:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/ubuntu/drush23/drush/

e quando cambio directory questa riga rimane sempre ... non so cosa fare

Ho byobu ...

Risposte:


13

$PS1è una variabile d'ambiente che dice alla tua shell come formattare il prompt. La modifica del valore con export, come hai fatto, si applica solo a quella sessione; così puoi semplicemente aprire una nuova shell (non una sub-shell) e vedere un prompt familiare.

Altrimenti, se vuoi davvero il tuo prompt in questa sessione stessa, riesegui semplicemente il file delle preferenze della shell. Per gli utenti di Bash, ovvero:

. ~/.bashrc

Non so se funzionerà (almeno, senza causare altri problemi) per Byobu; ma puoi semplicemente impostare il prompt su un valore sano come questo:

export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Oppure, se non vuoi o non puoi avere una richiesta di colore, una più semplice sarebbe:

export PS1='\u@\h:\w\$ '

dove si \utrova il tuo nome utente, \hè il tuo nome host ed \wè il percorso completo (logico) della directory di lavoro corrente.


non ero a conoscenza del controllo $ PS1 che ... grazie!
— Moshe Shaham,

appena colpito nel terminale . ~/.bashrc. Reimposterà la PS1variabile e dovresti tornare al tuo prompt.
— souravc,

@souravc Sei sicuro che non causerebbe problemi all'OP? sta usando Byobu.
— Yatharth Agarwal

@YatharthROCK Non credo che causerebbe alcun problema. Cosa ti aspetti dal possibile problema?
— souravc,

@souravc Siamo spiacenti, non ho pensato bene.
— Yatharth Agarwal,

1

Puoi impostare PS1un valore ragionevole per questa sessione del Terminale usando:

export PS1=$'\h:\w\$'

Il vecchio valore dovrebbe essere ripristinato anche dopo aver chiuso e riavviato Terminal, un riavvio, ecc.


0

Ho avuto lo stesso problema. Ho usato PS1 per impostare il prompt su "Test" ..

Successivamente non sono riuscito a tornare al prompt colorato predefinito.

tuttavia stavo controllando qualche risposta in questo sito Web e ho dovuto verificare quale shell sto eseguendo.

Ho provato $ SHELL e è stato ripristinato il valore di prompt colorato predefinito.

"$ SHELL"

Non sono un professionista in questo. Questo è puramente accidentale, non so se funzionerà per te o no.

Ma vale la pena provare.


Puoi spiegare cosa hai fatto SHELL?
— Stephen Rauch,

Non ho davvero idea di come abbia funzionato .. Nemmeno io ho modificato nulla relativo alla shell. Dai
— Ravi Kiran

1
Cordiali saluti, questo esegue semplicemente una nuova shell. Se corri exit, tornerai al prompt incasinato.
— NerdOfLinux,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.