Bash No Longer Changes Directory

14

Moja powłoka bash nie zmieni już katalogu z cd. Zauważyłem to wcześniej podczas pracy i stwierdziłem, że wszelkie nowe powłoki, które otworzyłem (terminal lub xterm itp.) Utknęłyby w katalogu domowym i nie mogły się wydostać (już otwarte terminale działały dobrze).

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

Pomyślałem, że to musi być jakaś dziwność, z którą nie miałem czasu sobie poradzić, np. Brak pamięci w module obsługi (po sprawdzeniu, czy płyta CD nie była pseudonimem i użyciu wbudowanej wersji).

Więc (tak, wiem) uruchomiłem ponownie komputer.

Świeży rozruch, dokładnie ten sam problem.

Z drugiej strony CSH działa dobrze, więc natychmiast po powyższym fragmencie:

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

Nie instalowałem nic nowego ani nie przeprowadzałem żadnych aktualizacji w ciągu ostatnich kilku dni i działało dobrze do późnego wieczora.

Pomysły / pomoc / POMOC bardzo mile widziane!

** AKTUALIZACJA **

Więc szukając, znalazłem tę linię w .bashrc

export PROMPT_COMMAND="cd"

Jeśli rozbroję PROMPT_COMMAND, wtedy wszystko działa normalnie.

Ale ... WTF. Nie umieściłem tej linii w .bashrc i wszystko działało idealnie aż do dzisiejszej nocy. Czy powinienem to po prostu skomentować, ręcznie rozbroić, czy po prostu spalić komputer jako czarownicę?

Dave C.
źródło
System operacyjny to CentOS 6.3 Final, jądro to 2.6.32-279.11.1.el6.x86_64, rozwijanie wiersza poleceń za pomocą tab, jeśli wstawię pełną nazwę katalogu i ponownie wpisz / more itp., Jeśli wstawię ścieżkę do pliku FQ, działa dobrze . Jeśli to pomoże.
Dave C
2
Jeśli coś w twoim systemie ostatnio się zmieniło, a ty jesteś jedynym użytkownikiem i nie wprowadziłeś tej zmiany, to może twój system został naruszony?
Zoredache

Odpowiedzi:

20

Ustawianie PROMPT_COMMANDsię cdto dość powszechne wybryk, jeśli nie ustawić go, a ty jesteś jedynym użytkownikiem, to tak, masz została naruszona.

Jeśli znajomi mają dostęp, to jest dowcip, który widziałem wiele razy, porozmawiaj z nimi.

rfelsburg
źródło
6
Lub jeśli jesteś w środowisku, w którym mógłbyś pozostawić swój terminal odblokowany. Zależy to od kultury korporacyjnej, ale ponieważ odblokowane terminale są niezadowolone z praktyki, dowcipy między administratorami są dość powszechne.
Andrew B,
4
Myślę, że zostałem żartem. +1 moim kolegom z laboratorium za psikus w systemie Linux. -1 do mnie za pozostawienie ekranu odblokowanego. Nie sądzę, że zostałem skompromitowany, przynajmniej mam nadzieję, że nie - wszystko inne wygląda dobrze. Dziękujemy wszystkim za odpowiedzi.
Dave C
Technicznie rzecz biorąc, jest to kompromis, nawet jeśli dokonano tego „dla zabawy”. W zależności od tego, kim jesteś i gdzie jesteś, może to doprowadzić do sytuacji, w której ty i / lub twoi koledzy zostaniesz poinformowany lub gorzej, lub możesz być odpowiedzialny za zgłoszenie kompromisu personelowi IT (zgodnie z prawem).
Kusalananda