# 사이에 공백이 있습니까? shebang의 / bin / bash? 다음과 같습니다

shebang #!에서 통역사와의 사이에 공백이 허용 됩니까?

예를 들면 다음과 같습니다 #! /bin/bash. 작동하는 것 같지만 일부는 틀렸다고 말했습니다.



답변

네, 가능합니다.

shebang에 관한 Wikipedia 기사 에는 Dennis Ritchie의 1980 년 이메일이 포함되어있다. 그는 Shebang에 대한 커널 지원 ( 인터프리터 지시문 이라고하는 더 넓은 패키지의 일부로 )을 버전 8 Unix (강조 광산)에 소개하고있다.

실행중인 파일이 매직 문자로 시작하는 경우 #!나머지 행은 실행 된 파일의 인터프리터 이름으로 이해됩니다. […]

이 훌륭한 기회를 이용하려면

#! /bin/sh

쉘 스크립트 첫 줄의 왼쪽 여백에.
공백 !은 괜찮습니다.

따라서 shebang 이후의 공간은 꽤 오랫동안 주변에 있었고 실제로 Dennis Ritchie의 예는 그것들을 사용하고 있습니다.

이 인터프리터 라인에서 초기 버전의 Unix는 16 자로 제한되었으므로 임의의 공백을 사용할 수 없습니다. 이 제한은 현대 커널에는 더 이상 적용되지 않습니다.


답변

예, 다음에 공백이 허용 #!됩니다. 일부 시스템에서는이를 요구할 수도 있다는 (잘못된) 생각이 있었지만, 항상 선택적이었습니다.

자세한 내용은 여기를 참조하십시오


답변