CD가 Pushd와 같은 디렉토리를 추가하는 이유는 무엇입니까?

CD가 Pushd와 같은 디렉토리를 추가하는 이유는 무엇입니까?

zsh를 사용하고 있습니다종이(oh-my-zsh 및 일부 추가 기능이 포함된 Cygwin)

이상한 동작을 발견 했습니다 cd.pushd

{ ~ }  » mkdir foo
{ ~ }  » pushd foo
~/foo ~
{ foo }  » popd
~

위의 내용은 괜찮고 예상되지만 아래를 참조하십시오.

{ ~ }  » cd foo
{ foo }  » dirs
~/foo ~

별칭이 어딘가에 설정되어 있는지 확인하려고 시도했지만 이와 같은 내용은 표시되지 않습니다.

{ foo }  » alias | egrep "(cd|pushd)"
-='cd -'
1='cd -'
2='cd -2'
3='cd -3'
4='cd -4'
5='cd -5'
6='cd -6'
7='cd -7'
8='cd -8'
9='cd -9'
grt='cd $(git rev-parse --show-toplevel || echo ".")'
pu=pushd

cd추가합니까 dirs? 사실 이건 문제가 아니라 그냥 궁금해서요.

답변1

이제 이해가된다. oh-my-zsh는 setopt auto_pushd설명된 작업을 수행합니다.여기처럼:

AUTO_PUSHD(-N)

  • 만들다CD이전 디렉터리를 디렉터리 스택에 푸시합니다.

관련 정보