Diretório Bash No More Changes

14

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?

Dave C
fonte
O SO é o CentOS 6.3 Final, o Kernel é 2.6.32-279.11.1.el6.x86_64, expansão da linha de comando através da guia se eu colocar um nome de diretório completo e digitar / more etc novamente se eu colocar um caminho de arquivo FQ funcionar bem . Se isso ajudar.
Dave C
2
Se algo no seu sistema mudou recentemente, e você é o único usuário e não fez essa alteração, talvez o seu sistema tenha sido comprometido?
Zoredache

Respostas:

20

Definir PROMPT_COMMANDpara cdé 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.

Rfelsburg
fonte
6
Ou se você estiver em um ambiente em que possa ter deixado seu terminal desbloqueado. Depende da cultura corporativa, mas como os terminais desbloqueados são uma prática desaprovada, a brincadeira entre administradores de sistemas é bastante comum.
Andrew B
4
Eu acho que fui enganado. +1 aos meus colegas de laboratório para uma brincadeira do Linux. -1 para mim por deixar a tela desbloqueada. Não pense que fui comprometida, pelo menos espero que não - tudo parece bem. Obrigado a todos por suas respostas.
Dave C
Tecnicamente, isso ainda é um compromisso, mesmo que tenha sido feito "por diversão". Dependendo de quem você é e de onde está, isso pode levar você e / ou seus colegas a serem repreendidos ou pior, ou pode ser sua responsabilidade relatar o comprometimento à equipe de TI (por lei).
Kusalananda