"type -p prog" 명령의 경로만 가져옵니다.

"type -p prog" 명령의 경로만 가져옵니다.

내가 달리면

nrolland@mactoasty ~ $ type -p skhd   
skhd is /usr/local/bin/skhd

다음과 같은 다른 명령과 잘 결합할 수 없습니다.

nrolland@mactoasty ~ $ la `type -p skhd`      
ls: is: No such file or directory
ls: skhd: No such file or directory
lrwxr-xr-x  1 nrolland  admin    29B Jun  4 09:35 /usr/local/bin/skhd -> ../Cellar/skhd/0.2.2/bin/skhd

두 번째 부분만 얻는 가장 깨끗한 방법은 무엇입니까? (도움이된다면 zsh를 사용하고 있습니다)

답변1

대신 사용하십시오 command -v skhd:

ls -l "$( command -v skhd )"

command실용적인 사항는 플래그를 사용하여 함수, 별칭 또는 셸 내장 유틸리티가 아닌 이상 에 -v해당 유틸리티가 있는 경우 해당 유틸리티에 대한 경로를 인쇄하는 POSIX 표준 유틸리티입니다 .$PATH

답변2

에서 기본값은 verbose입니다 zsh. type -p에서 man zshbuiltins:

   type [ -wfpamsS ] name ...
          Equivalent to whence -v.

장황하게 말하고 싶지 않다면 다음을 사용할 수 있습니다 whence -p.

% type -p g++    
g++ is /usr/bin/g++
% whence -p g++  
/usr/bin/g++

관련 정보