O prompt do terminal estragou depois de alterar o valor do PS1

8

Eu descuidadamente digitei 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 isto:

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

e quando mudo de diretórios esta linha fica sempre ... Não sei o que fazer

Eu tenho byobu ...

    
por Moshe Shaham 23.04.2014 / 14:15

2 respostas

11

$PS1 é uma variável de ambiente que informa ao seu shell como formatar o prompt. Alterar o valor com export , como você fez, aplica-se apenas 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 quiser seu prompt de volta nesta sessão, basta executar novamente o arquivo de preferências do seu shell. Para usuários do Bash, isto é:

. ~/.bashrc

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

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

Ou, se você não quer 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, \h é seu nome de host e \w é o caminho completo (lógico) do seu diretório de trabalho atual.

    
por Yatharth Agarwal 23.04.2014 / 14:19
1

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

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

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

    
por jkt123 23.04.2014 / 14:19