내가 넣을 때 which npm
, 나는 나온다 /usr/local/bin/npm
. 내가 넣을 때 command -v npm
, 나는 나온다 /usr/bin/npm
.
왜 그런 겁니까? 차이점은 무엇입니까? "현재 환경에서 실행될 파일 이름의 경로 이름을 반환합니다" man which
라고 말합니다 . which
를 실행하면 which -a npm
위에서 언급한 두 경로가 반환된다는 것을 알았습니다.
그렇다면 없이 실행될 때 첫 번째 항목을 선택 -a
하고 두 번째 항목을 반환하는 이유는 무엇입니까 command -v npm
?
답변1
which
Era의 외부 명령이며 csh
Bourne 호환 쉘과는 아무 관련이 없습니다.
따라서 csh
.
그래서 내장된 쉘 명령을 사용하는 것이 더 좋습니다...
command
type
다른 내장 명령과 함께 Bourne Shell과 유사한 쉘에 대해 올바른 결과를 반환하는 POSIX 호환 쉘의 내장 명령입니다 .