특정 디렉토리로 팝업하는 방법은 무엇입니까?

특정 디렉토리로 팝업하는 방법은 무엇입니까?

한 번 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}

이게 효과가 있는 것 같아요

관련 정보