지쉬: 5.6.2
나는 Archwiki의 dirstack을 사용합니다:https://wiki.archlinux.org/index.php/zsh#Dirstack
스크립트의 모든 가 setopt
켜져 있고 스크립트는 에서 시작됩니다 ~/.zshrc
.
이전에는 작동했고 어떻게든 인덱스를 로 변경했습니다 0
. afaik zsh의 배열은 1부터 시작해야 합니다.
현재 예상치 못한 출력 0
:
dirs -v
0 ~/.cache/downloads/documents
1 ~
2 ~/.cache/zsh
3 ~/.zsh/scripts
CD를 사용해 보세요
cd -<tab>
0 -- ~/.zsh/scripts
1 -- ~/.cache/zsh
2 -- ~
1을 선택하면 ~/.cache/zsh 대신 ~/.zsh/scripts로 이동됩니다.
답변1
다음은 ~
zsh 배열 변수의 인덱스가 아닙니다. 바라보다
info zsh 'Filename Expansion'
'~' 자체는 $HOME 값으로 대체됩니다. '+' 또는 '-'가 뒤에 오는 '~'는 각각 현재 또는 이전 작업 디렉토리로 대체됩니다.
"~" 뒤에 숫자가 오면 디렉터리 스택의 해당 위치에 있는 디렉터리로 대체됩니다. '~0'은 '~+'와 동일하며, '~1'은 스택의 최상위입니다. "~+" 뒤에 숫자가 오면 디렉터리 스택의 해당 위치에 있는 디렉터리로 대체됩니다. '~+0'은 '~+'와 동일하며, '~+1'은 스택의 최상위입니다. '~-' 뒤에 오는 숫자는 스택 맨 아래의 여러 위치에 있는 디렉터리로 대체됩니다. '~-0'은 스택의 맨 아래입니다. PUSHD_MINUS 옵션은 뒤에 숫자가 오는 "~+"와 "~-"의 효과를 바꿉니다.
실제로는 ksh_arrays
또는 pushd_minus
옵션을 활성화하지 않으면 동일한 콘텐츠 , 동일한 콘텐츠 및 동일한 콘텐츠 로 확장되는 동안 동일한 콘텐츠 ~1
로 확장됩니다 .$dirstack[1]
~0
$PWD
~-0
$dirstack[-1]
~-1
$dirstack[-2]