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ę?
Odpowiedzi:
Ustawianie
PROMPT_COMMAND
sięcd
to 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.
źródło