명령줄에 이름을 입력하면 실행될 실행 파일을 정확히 어떻게 찾을 수 있습니까? [복사]

명령줄에 이름을 입력하면 실행될 실행 파일을 정확히 어떻게 찾을 수 있습니까? [복사]

실행 파일을 정확히 찾아낼 수 있나요?

myname

명령줄에 전달되면 실행됩니다.

> myname

locate명령이 많은 수의 결과를 반환하기 때문에 예상대로 작동하지 않습니다. 무언가를 실행하면 하나의 파일만 실행되므로 결과는 정확히 1이어야 합니다. 또한 PATH결과가 우선시되어야 합니다.

답변1

셸에서는 일반적으로 이를 달성하기 위해 whichor 를 사용합니다. 예를 들어 다음과 같습니다.type

$ bash
$ which vile
/usr/bin/vile
$ type vile
vile is /usr/bin/vile
$ 

type효과가 있기 때문에 선호됩니다그리고POSIX 쉘이지만 whichC 쉘의 연속입니다. 실제로 나는 대안을 보여주는 스크립트를 사용합니다.

관련 정보