나는 which
다른 플랫폼 (Linux vs. Solaris vx. OS X) 에서 명령의 출력 차이로 인해 좌절 했으며 다른 쉘도 문제를 일으킬 수 있습니다. type
더 나은 대안으로 제안되었지만 얼마나 이식성이 좋습니까?
과거 which
에는 다른 유스 케이스 의 출력을 구문 분석 하고 처리하는 함수를 작성 했습니다. 그것들은 내가 사용하는 컴퓨터에서 작동하므로 개인 스크립트에는 괜찮지 만 다른 사람들이 사용할 수 있도록 게시 할 소프트웨어에는 믿기지 않을 것 같습니다.
가능한 한 가지 예를 들어, bash와 zsh가 시스템에서 사용 가능한지 여부를 스크립트에서 감지 한 다음 zsh가 있으면 zsh를 사용하고 zsh가 없으면 bash를 사용하여 명령을 실행한다고 가정하십시오. 특정 버그가없는 버전입니다. 스크립트의 나머지 부분은 Bourne 쉘 또는 Ruby 또는 기타 다른 것이 될 수 있지만 zsh 또는 최신 버전의 bash를 사용하여 수행해야하는 특정 작업 (AFAIK)입니다.
나는 신뢰할 수있는 type
플랫폼에서 사용할 수있는? which
특정 소프트웨어가 설치되어 있는지에 대한 질문에 쉽고 일관성있게 답변 할 수있는 다른 대안 이 있습니까?
(내가 제시 한 예와 구체적으로 아이디어를주고 싶다면 훌륭하지만, 주로 일반적인 경우에 대해 묻고 있습니다. 특정 기계에 특정 물체가 설치되어 있는지 확인하는 가장 신뢰할 수있는 방법은 무엇입니까? ?)
hash
and 을 사용하여 일반적으로 권장되는 기술에 대한 의견을 확대하는 데 도움이 될 수 있습니다command -v
.