O prompt do terminal foi interrompido após alterar o valor do PS1

9

Entrei descuidadamente um comando no terminal que deveria estar em um shell script:

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

agora no meu terminal em vez disso:

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

Eu vejo isso:

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

e quando troco de diretório esta linha fica sempre ... não sei o que fazer

Eu tenho byobu ...

Moshe Shaham
fonte

Respostas:

13

$PS1é uma variável de ambiente que informa ao seu shell como formatar o prompt. Alterar o valor com export, como você fez, se aplica somente a essa sessão; então você pode simplesmente abrir um novo shell (não um sub-shell) e ver um prompt familiar.

Caso contrário, se você realmente deseja que seu prompt volte para esta sessão, basta executar novamente o arquivo de preferências do seu shell. Para usuários do Bash, ou seja:

. ~/.bashrc

Não sei se isso funcionará (pelo menos, sem causar outros problemas) para o Byobu; mas você pode simplesmente definir o prompt para um valor sensato como este:

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

Ou, se você não deseja ou não pode ter um prompt de cores, um mais simples seria:

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

onde \ué seu nome de usuário, \hseu nome de host e \wo caminho (lógico) completo do seu diretório de trabalho atual.

Yatharth Agarwal
fonte
eu não sabia que o $ PS1 controlava isso ... obrigado!
Moshe Shaham
basta clicar no terminal . ~/.bashrc. Ele redefinirá a PS1variável e você deverá retornar sua solicitação.
souravc
@souravc Tem certeza de que isso não causaria problemas para o OP? ele está usando Byobu.
Yatharth Agarwal
@YatharthROCK Eu não acho que isso causaria qualquer problema. O que você espera como possível problema?
souravc
@souravc Desculpe, não estava pensando direito.
Yatharth Agarwal
1

Você pode definir PS1um valor razoável para esta sessão do Terminal usando:

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

O valor antigo também deve ser restaurado após fechar e reiniciar o Terminal, uma reinicialização etc.

jkt123
fonte
0

Eu tive esse mesmo problema. Eu usei o PS1 para definir o prompt como "Teste".

Mais tarde, não consegui voltar ao prompt colorido padrão.

no entanto, eu estava verificando algumas respostas neste site e tive que verificar qual shell estou executando.

Eu tentei $ SHELL e ele foi redefinido para o valor padrão de prompt colorido.

"$ SHELL"

Eu não sou um profissional nisso. Isso é puramente acidental, não sei se isso funcionará para você ou não.

Mas vale a pena tentar.

Ravi Kiran
fonte
Você pode explicar o que fez SHELL?
Stephen Rauch
Eu realmente não tenho idéia de como funcionou .. Também não editei nada relacionado ao shell. Não confira o link captura de tela: imgur.com/a/l4SGtBK
Ravi Kiran
11
Para sua informação, isso simplesmente executa um novo shell. Se você executar exit, voltará ao prompt desarrumado.
NerdOfLinux 31/10