증조부모 디렉토리로 CD 3번 이동

증조부모 디렉토리로 CD 3번 이동

나는 이것을 가지고있다:

cd $(dirname $(dirname $(dirname "$0"))) &&

그러면 프로젝트 루트 디렉터리로 이동됩니다.

내가 할 수 있는 간단한 방법이 있나요?

cd 3 &&  # not quite, but you get the idea

아니면 어쨌든, 왜 몰랐나요?

아마도 다음과 같은 명령이 이상적일 것입니다.

cdx 3 &&

cd3이 파일이나 디렉토리가 아니라는 것을 모르기 때문입니다 .

답변1

하다cd ..이것이 상위 디렉토리로 이동한다는 것을 알고 계셨습니까 ? 따라서 귀하의 질문을 올바르게 이해하면 다음을 사용할 수 있습니다.

cd $(dirname $0)/../../..

답변2

이 함수를 정의하십시오:

dirx(){ a=$0;for((i=0;i<$1;i++));do a=${a%/*};done;cd "$a"; }

그리고 다음을 수행하십시오:

$ dirx 3

답변3

다음에서 매개변수 확장을 사용할 수 있습니다 bash.

cd "${0%/*/*/*}"

훨씬 더 간단합니다 zsh.

cd $0:h:h:h

관련 정보