실행 가능한 명령이 있는 디렉터리를 입력하세요.

실행 가능한 명령이 있는 디렉터리를 입력하세요.

다음은 "The Productive Programmer" 책에 나오는 명령줄 팁입니다.

pushd `which java`/..

작성자는 이 명령이 일시적으로 실행 가능한 명령이 있는 디렉터리로 이동할 수 있다고 말했습니다.자바삶.

Linux에서 이 명령을 입력하면 Bash가 다음과 같이 불평합니다.

bash: pushd: /usr/bin/java/..: Not a directory

/usr/bin/java/..또한 디렉토리를 다음과 같이 직접 변경해 보았습니다 .

$ pushd /usr/bin/java/.. 
bash: pushd: /usr/bin/java/..: Not a directory

나는 왜 실패했는가? 디렉토리 변경을 사용할 수 없는 이유는 무엇입니까 /..? 동일한 작업을 수행하기 위해 이 명령을 어떻게 수정합니까?

답변1

/usr/bin/java디렉토리가 아니라 파일이기 때문에 실패합니다 .

넌 할 수있어:

cd "$(dirname "$(which java)")"

또는 매개변수 확장을 사용하십시오 zsh.

cd "${"$(which java)"%/*}"

관련 정보