Meu shell bash não mudará mais de diretório com o cd. Notei isso mais cedo ao trabalhar e descobri que quaisquer novos shells que eu abrisse (terminal ou xterm etc) ficariam presos no diretório inicial e não poderiam sair (os terminais já abertos continuaram funcionando bem).
[~]$ pwd
/home/sys/dave
[~]$ cd /
[~]$ cd Documents/
[~]$ pwd
/home/sys/dave
[~]$ type cd
cd is a shell builtin
[~]$ alias
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
Eu pensei que deveria ser alguma estranheza com a qual não tive tempo de lidar, como um manipulador sem memória (depois de verificar se o CD não era um alias e usar a versão incorporada).
Então eu (sim, eu sei) reiniciei a máquina.
Nova inicialização, exatamente o mesmo problema.
Por outro lado, o CSH funciona bem; logo após o snippet acima:
[~]$ csh
[~]$ cd /
[/]$ pwd
/
[/]$ cd ~/Documents/
[~/Documents]$ pwd
/home/sys/dave/Documents
[~/Documents]$
Não instalei nada novo ou realizei atualizações nos últimos dias e funcionou bem até o final da noite.
Idéias / assistência / AJUDA muito apreciada!
** ATUALIZAÇÃO **
Então, procurando por aí, encontrei esta linha em .bashrc
export PROMPT_COMMAND="cd"
Se eu desmarcar PROMPT_COMMAND, tudo funcionará normalmente.
Mas ... WTF. Eu não coloquei essa linha no .bashrc e tudo estava funcionando perfeitamente até hoje à noite. Devo apenas comentar, desmarcá-lo manualmente ou simplesmente queimar o computador como uma bruxa?
Respostas:
Definir
PROMPT_COMMAND
paracd
é uma brincadeira bastante comum, se você não a definiu, e você é o único usuário, então sim, você foi comprometido.Se os amigos tiverem acesso, é uma brincadeira que já vi várias vezes, converse com eles.
fonte