Zsh

為什麼 cd 會像 pushd 一樣附加目錄?

  • March 16, 2016

我在Babun中使用 zsh (帶有 oh-my-zsh 和一些附加功能的 Cygwin)。

我注意到一些奇怪的行為,它看起來cdpushd

{ ~ }  » 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?這不是一個真正的問題,我只是好奇。

我現在明白了。oh-my-zsh 會在此處setopt auto_pushd描述為:

AUTO_PUSHD ( -N )

  • 使cd將舊目錄推送到目錄堆棧上。

引用自:https://unix.stackexchange.com/questions/270260