내 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
것은 꽤 일반적인 장난이며, 설정하지 않은 경우 유일한 사용자이고, 그렇습니다.
친구가 액세스 할 수 있다면, 이것은 여러 번 본 장난입니다. 친구와 이야기하십시오.