Моя оболочка 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, и все работало отлично до сегодняшнего вечера. Должен ли я просто закомментировать это, вручную сбросить его или просто сжечь компьютер как ведьму?
Ответы:
Установка
PROMPT_COMMAND
наcd
это довольно распространенная шутка, если вы не установили ее, и вы единственный пользователь, то да, вы были скомпрометированы.Если у друзей есть доступ, это шутка, которую я видел много раз, поговорите с ними.
источник