L'invite du terminal a été gâchée après avoir changé la valeur de PS1

9

J'ai imprudemment entré une commande dans le terminal qui aurait dû être dans un script shell:

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

maintenant dans mon terminal au lieu de cela:

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

Je vois ça:

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

et quand je change de répertoire cette ligne reste toujours ... je ne sais pas quoi faire

J'ai byobu ...

Moshe Shaham
la source

Réponses:

13

$PS1est une variable d'environnement qui indique au vôtre comment formater l'invite. La modification de la valeur avec export, comme vous l'avez fait, ne s'applique qu'à cette session; vous pouvez donc simplement ouvrir un nouveau shell (pas un sous-shell) et voir une invite familière.

Sinon, si vous voulez vraiment que votre invite revienne dans cette session, réexécutez simplement le fichier de préférences de votre shell. Pour les utilisateurs de Bash, c'est:

. ~/.bashrc

Je ne sais pas si cela fonctionnera (au moins, sans causer d'autres problèmes) pour Byobu; mais vous pouvez simplement définir l'invite sur une valeur saine comme ceci:

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

Ou, si vous ne voulez pas ou ne pouvez pas avoir d'invite de couleur, une plus simple serait:

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

\uest votre nom d'utilisateur, \hvotre nom d'hôte et \wle chemin complet (logique) de votre répertoire de travail actuel.

Yatharth Agarwal
la source
je ne savais pas que $ PS1 contrôlait cela ... merci!
Moshe Shaham
il suffit de frapper dans le terminal . ~/.bashrc. Il réinitialisera la PS1variable et vous devriez récupérer votre invite.
souravc
@souravc Êtes-vous sûr que cela ne causerait pas de problèmes pour l'OP? il utilise Byobu.
Yatharth Agarwal le
@YatharthROCK Je ne pense pas que cela causerait de problème. À quoi vous attendez-vous comme problème possible?
souravc
@souravc Désolé, je ne pensais pas droit.
Yatharth Agarwal
1

Vous pouvez définir PS1une valeur raisonnable pour cette session Terminal en utilisant:

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

L'ancienne valeur doit également être restaurée après la fermeture et le redémarrage du terminal, un redémarrage, etc.

jkt123
la source
0

J'ai eu ce même problème. J'ai utilisé PS1 pour définir l'invite sur "Test" ..

Plus tard, je n'ai pas pu revenir à l'invite de couleur par défaut.

Cependant, je vérifiais certaines réponses sur ce site Web et j'ai dû vérifier quel shell je suis en cours d'exécution.

J'ai essayé $ SHELL et il a été réinitialisé à sa valeur d'invite colorée par défaut.

"$ SHELL"

Je ne suis pas un pro dans ce domaine. C'est purement accidentel, je ne sais pas si cela fonctionnera pour vous ou non.

Mais ça vaut le coup d'essayer.

Ravi Kiran
la source
Pouvez-vous expliquer ce que vous avez fait SHELL?
Stephen Rauch
Je n'ai vraiment aucune idée de comment cela a fonctionné .. Je n'ai rien modifié non plus sur le shell. Consultez le lien de capture d'écran: imgur.com/a/l4SGtBK
Ravi Kiran
1
Pour info, cela exécute simplement un nouveau shell. Si vous exécutez exit, vous serez de retour à l'invite foirée.
NerdOfLinux