다른 bash 스크립트 A에서 소싱중인 bash 스크립트 B가 있다고 가정하십시오. B에는 많은 변수 및 함수 정의가 있습니다. A는 주 드라이버 스크립트입니다. A와 B 위에 #!/bin/bash 라인이 필요합니까? 네가 그렇게한다면, 그리고 네가하지 않으면 어떻게 될까?모든 bash 스크립트에 shebang이 필요합니까?
답변
shebang은 바이너리 실행 파일과 같은 방식으로 운영 체제에서 실행되는 스크립트에만 필수입니다. 다른 스크립트에서 소스를 지정하면, 생략이 무시됩니다.
반면에. 스크립트가 소스로되어 있다면, 처음에는 아무 것도 넣지 않는 것이 관례입니다.
스크립트를 실행 파일 (예 : ./script.sh
)과 같이 직접 실행하면 shebang이 사용됩니다. 이 경우 운영 체제에 실행 파일을 알려줍니다.
예를 들어 bash ./script.sh
으로 작성하거나 스크립트를 제공하는 경우 필요하지 않으며 아무런 효과가 없습니다.
... 또는 스크립트 소스를 때 : –
이미 bash 프롬프트에 있다면 그것은 필요하지 않습니다 - 그것은 스크립트가 bash가 될 것이라고 가정합니다 (그리고 다른 쉘은 일반적으로 스크립트가 그것들을 위해 있다고 가정합니다) –
모든 스크립트, 특히 비 호환 기능을 사용하는 모든 스크립트에서 shebang을 사용해야합니다.
예를 들어 데비안에서는 기본 쉘이 대시 (bash가 아님)입니다. bash-only 기능을 사용하고 bash가이 스크립트를 해석하도록 지정하지 않으면 리눅스에서도 실패 할 수 있습니다. Solaris 나 HP-UX에서는 거의 실패 할 것입니다.
파일이 다른 스크립트에 의한 소스 일 경우, shebang 행은 생략 할 수 있지만 실행 권한은 설정하지 마십시오. 또한 이러한 파일은/bin/sh 호환성을 유지하는 것이 좋습니다.
DashAsBinSh을 강력히 추천합니다.
- 1. Bash 별칭을 Python 스크립트에 - 가능합니까?
- 2. bash 스크립트에 인수로 공백을 처리하십시오.
- 3. BASH 스크립트에 현지화 언어 지원 추가
- 4. 인수를 통해 bash 스크립트에 문자열 전달하기
- 5. bash 스크립트에 기본 이름이 공백이 있습니까?
- 6. bash 명령으로 파이썬 스크립트에 대한 도움이 필요합니다.
- 7. PHP 스크립트에 양식을 제출하려면 Javascript가 필요합니까?
- 8. 모든 양식이 동일한 스크립트에 제출됩니다.
- 9. 모든 작업에 대한보기가 필요합니까?
- 10. bash : 모든 명령을 차단하는 방법
- 11. 모든 API를 배우는 것이 필요합니까?
- 12. Java의 모든 프로그램에 클래스가 필요합니까?
- 13. 모든 네트워크에서 Windows Server가 필요합니까?
- 14. 내 모든 PHP 스크립트에 동일한 XML 데이터로드
- 15. main()은 핸들러를 포함하는 모든 스크립트에 있어야합니까?
- 16. bash "reflection"
- 17. bash 스크립트에서 모든 입력 및 출력 캡처
- 18. Bash - 디렉토리의 모든 이름 파일을 검색하는 방법?
- 19. bash 명령 인수
- 20. Facebook 연결 : 모든 도메인에 앱 ID가 필요합니까?
- 21. 부분 클래스의 모든 인스턴스화에 partial이라는 키워드가 필요합니까?
- 22. 소켓 프로그래밍에 관한 모든 상황에 Socket.Bind가 필요합니까?
- 23. UIImage를 축소하려면 모든 코드/라이브러리가 필요합니까?
- 24. 모든 ISA와 그 구현에 단어 맞춤이 필요합니까?
- 25. WPF 3DTools에 대한 모든 업데이트가 필요합니까?
- 26. UML, 모든 상태 다이어그램에 입출력 레이블이 필요합니까?
- 27. CakePHP : 모든 컨트롤러에 대해 DB 테이블이 필요합니까?
- 28. 데이터베이스에있는 모든 개체를 찾으려면 쿼리가 필요합니까?
- 29. 모든 스레드가 자체 자동 풀이 필요합니까?
- 30. 자기를 업데이트하는 Bash 스크립트?
여기에서 답을 얻을 수 있지만 사용해 보셨습니까? – jman