한 번 pushd
다른 디렉토리로 이동했는데 지금 실행하면
dirs -v
나는 얻다:
0 ~/Desktop
1 /etc
2 /var/log
3 ~/Downloads
4 /tmp
popd
스택 중간에 있는 특정 디렉터리에 어떻게 액세스할 수 있나요 ? ,예를 들어option 2: /var/log
man bash
설명하다
+n dirs 에 표시된 목록의 왼쪽에서
0부터 시작하여 n번째 항목을 제거합니다. 예를 들어, "popd +0"은
첫 번째 디렉터리를 삭제하고, "popd +1"은 두 번째 디렉터리를 삭제합니다.
나는 노력했다
- "팝 +0"
- 인기 +3
스택에서 올바른 디렉토리를 팝하지만 현재 작업 디렉토리는 변경하지 않습니다.
popd
디렉토리를 지정하고 현재 작업 디렉토리를 "팝업" 디렉토리로 변경하려면 어떻게 해야 합니까 ?
답변1
cd "`dirs +<number>`"
여기서 <number>
0, 3 또는 다른 값입니다.
어쨌든 CD 포장을 살펴보는 것이 좋습니다.
http://davidcorne.com/tag/cd/, 이는 push
무대 뒤의 디렉터리 스택으로 들어가 cd --
대신 원하는 디렉터리로 dirs -v
실행할 수 있게 해줍니다. cd -<number>
또한 초기 물결표를 로 대체하여 $HOME
귀하의 의견에서 언급한 문제를 제거합니다.
답변2
내 Cygwin 배포판의 .bashrc 파일에서 이 스크립트를 찾았습니다. 20번째 줄에 있기 때문에 작동하지 않습니다.
adir=$(dirs +$index)
이제 adir에는 "2/cygdrive/d"와 같은 색인이 포함되어 있으므로 한 줄을 추가했습니다.
adir=${adir:4}
이게 효과가 있는 것 같아요