Répertoire Bash No Longer Changes

14

Mon shell bash ne changera plus de répertoire avec cd. Je l'ai remarqué plus tôt en travaillant et j'ai découvert que tous les nouveaux shells que j'ouvrais (terminal ou xterm, etc.) seraient bloqués dans le répertoire personnel et ne pourraient pas sortir (les terminaux déjà ouverts fonctionnaient toujours bien).

[~]$ 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'

Je pensais que ça devait être une bizarrerie que je n'avais pas le temps de gérer comme un gestionnaire de mémoire (après avoir vérifié que le cd n'était pas aliasé et en utilisant la version intégrée).

J'ai donc (oui, je sais) redémarré la machine.

Nouveau démarrage, exactement le même problème.

CSH d'autre part fonctionne très bien, donc immédiatement après l'extrait ci-dessus:

[~]$ csh
[~]$ cd /
[/]$ pwd
/
[/]$ cd ~/Documents/
[~/Documents]$ pwd
/home/sys/dave/Documents
[~/Documents]$ 

Je n'ai rien installé de nouveau ni effectué de mises à jour au cours des derniers jours et cela fonctionnait bien jusqu'à tard ce soir.

Idées / assistance / AIDE très appréciées!

** MISE À JOUR **

Alors en fouillant, j'ai trouvé cette ligne dans .bashrc

export PROMPT_COMMAND="cd"

Si je désactive PROMPT_COMMAND, tout fonctionne normalement.

Mais ... WTF. Je n'ai pas mis cette ligne dans le .bashrc et tout fonctionnait parfaitement jusqu'à ce soir. Dois-je simplement le commenter, le désinstaller manuellement ou simplement graver l'ordinateur comme une sorcière?

Dave C
la source
Le système d'exploitation est CentOS 6.3 Final, le noyau est 2.6.32-279.11.1.el6.x86_64, l'expansion de la ligne de commande via l'onglet si je mets un nom de répertoire complet et tapez à nouveau / more etc si je mets dans un chemin de fichier FQ fonctionne bien . Si ça aide.
Dave C
2
Si quelque chose sur votre système a récemment changé et que vous êtes le seul utilisateur et que vous n'avez pas effectué ce changement, alors peut-être que votre système a été compromis?
Zoredache

Réponses:

20

La définition PROMPT_COMMANDde cdest une farce assez courante, si vous ne l'avez pas définie et que vous êtes le seul utilisateur, alors oui, vous avez été compromis.

Si des amis y ont accès, c'est une farce que j'ai vue à plusieurs reprises, parlez-en avec eux.

rfelsburg
la source
6
Ou si vous êtes dans un environnement où vous pourriez avoir laissé votre terminal déverrouillé. Cela dépend de la culture d'entreprise, mais comme les terminaux déverrouillés sont une pratique désapprouvée, les farces entre administrateurs système sont assez courantes.
Andrew B
4
Je pense que j'ai été farce. +1 à mes collègues de laboratoire pour une farce Linux. -1 pour moi d'avoir laissé l'écran déverrouillé. Ne pensez pas que j'ai été compromis, enfin du moins j'espère que non - tout le reste a l'air bien. Merci à tous pour vos réponses.
Dave C
Techniquement, c'est toujours un compromis, même si cela a été fait "pour le plaisir". En fonction de qui vous êtes et de l'endroit où vous vous trouvez, cela pourrait vous faire dire à vous et / ou à vos collègues ou pire, ou il pourrait être de votre responsabilité de signaler le compromis au personnel informatique (par la loi).
Kusalananda