중복 가능성:
휴대용 쉘 프로그래밍 리소스
추가 배포를 위해 쉘 스크립트를 작성하고 싶습니다. 그래서 나는 가능한 한 이식 가능한 방식으로 작성하고 싶습니다 qzdfsh
. 내 컴퓨터에 우연히 설치한 특정 버전에서만 사용할 수 있는 멋진 것에 의존해서는 안 된다는 뜻입니다 . 스크립트는 그다지 복잡하지 않습니다(최악의 시나리오는 파일 확장자를 제거하고 프로그램의 반환을 테스트하는 것입니다).
(거의) 모든 셸에서 지원되는 기능은 어디에서 찾을 수 있나요?
(나는 이것이 /bin/sh
종종 "다른 것"과 심볼릭 링크되어 있다는 것을 특히 알고 있으므로 단순히 작동하는지 테스트하는 것은 /bin/sh
의심스러운 전략처럼 보입니다.)
답변1
bash에 대한 심볼릭 링크일 수도 있지만 /bin/sh
여전히 영향을 미칩니다. Bash는 그것이 어떻게 호출되었는지 살펴보고, 명시적으로, 심볼릭 링크를 통해 또는 인수/스위치를 통해 "sh"로 호출되면 bash는 POSIX 모드에서 실행을 시도합니다.
그러니 셔뱅을 사용해 보세요
#/bin/sh
시작하는 ./script
것만 으로도 sh .script
충분합니다.