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


47

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

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



따라서 공간이 필요 하지 않습니까? 나는 항상 적어도 하나를 보았습니다 ...
Bakuriu

6
@Bakuriu 어디? 나는 거의 한 번도적이 없다 ...
Jens

답변:


48

네, 가능합니다.

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

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

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

#! /bin/sh

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

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

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


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.