Bash больше не меняет каталог

14

Моя оболочка bash больше не будет менять каталог с помощью cd. Я заметил это ранее, когда работал, и обнаружил, что все новые оболочки, которые я открыл (терминал или xterm и т. Д.), Застряли в домашнем каталоге и не могли выйти (уже открытые терминалы продолжали работать нормально).

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

Я подумал, что это должно быть какая-то странность, с которой у меня не было времени, например, обработчик нехватки памяти (проверив, что cd не был псевдонимом, и используя встроенную версию).

Поэтому я (да, я знаю) перезагрузил машину.

Свежая загрузка, точно такая же проблема.

CSH, с другой стороны, работает нормально, поэтому сразу после фрагмента кода выше:

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

Я не установил ничего нового и не выполнил никаких обновлений за последние несколько дней, и он работал нормально до позднего вечера.

Идеи / помощь / ПОМОЩЬ высоко ценится!

** ОБНОВИТЬ **

Так что копаясь, я нашел эту строку в .bashrc

export PROMPT_COMMAND="cd"

Если я сбросил PROMPT_COMMAND, тогда все работает как обычно.

Но ... WTF. Я не поместил эту строку в .bashrc, и все работало отлично до сегодняшнего вечера. Должен ли я просто закомментировать это, вручную сбросить его или просто сжечь компьютер как ведьму?

Дейв С
источник
ОС - CentOS 6.3 Final, ядро ​​- 2.6.32-279.11.1.el6.x86_64, расширение командной строки через вкладку, если я ввожу полное имя каталога и снова набираю / more и т. Д., Если я добавляю путь к файлу FQ. , Если это поможет.
Дейв С
2
Если что-то в вашей системе недавно изменилось, и вы являетесь единственным пользователем, и вы не сделали этого изменения, то, возможно, ваша система была взломана?
Зоредаче

Ответы:

20

Установка PROMPT_COMMANDна cdэто довольно распространенная шутка, если вы не установили ее, и вы единственный пользователь, то да, вы были скомпрометированы.

Если у друзей есть доступ, это шутка, которую я видел много раз, поговорите с ними.

rfelsburg
источник
6
Или если вы находитесь в среде, где вы могли бы оставить свой терминал разблокированным. Это зависит от корпоративной культуры, но, поскольку разблокированные терминалы не одобряются практикой, шутки между системными администраторами довольно распространены.
Андрей Б
4
Я думаю, что меня разыграли. +1 моим коллегам по лаборатории за розыгрыш Linux. -1 мне за то, что оставил экран разблокированным. Не думайте, что я был скомпрометирован, по крайней мере, я надеюсь, что нет - все остальное выглядит хорошо. Спасибо всем за ваши ответы.
Дэйв С
Технически, это все же компромисс, даже если это было сделано «для удовольствия». В зависимости от того, кем вы являетесь и где вы находитесь, это может привести к тому, что вас и / или ваших коллег скажут хуже или хуже, или вы будете обязаны сообщить о компрометации ИТ-персоналу (по закону).
Кусалананда