다음과 같은 명령을 사용하고 싶습니다.
which node && cd $_
바이너리가 있는 경우 해당 디렉터리로 이동하지만 which 명령은 바이너리의 모든 경로와 이름을 반환하므로 오류가 발생합니다.
bash: cd: node: No such file or directory
나를 올바른 위치로 이동시켜줄 새로운 명령을 찾고 있습니다.
답변1
어느 것을 사용하지 말아야합니까?csh
(귀하가 해당 또는 변형 에 속하지 않는 한 tcsh
) 이미 손상되었습니다. 사용명령 -v 노드대신에.
POSIX 견적디렉토리 이름경로 이름의 디렉터리 부분을 가져오는 명령:
cd "$(dirname -- "$(command -v node)")"
또는 변수를 사용하여 경로 이름을 저장하면 다음을 호출할 수 없습니다 dirname
.
nodepath=$(command -v node)
cd "${nodepath%/*}"
답변2
한편, ZShell에서는 다소 추악하고 어색한 구성이 필요합니다.
cd -- $commands[node]:h
이는 디렉터리 이름에 공백이 있는 경우에도 작동합니다( shwordsplit
이해할 수 없는 이유로 옵션이 활성화되지 않은 경우).
답변3
cd $(dirname $(which bash))
행운을 빌어요:)