내 환경은 다음과 같이 말합니다.
_=/usr/bin/env
Shebang에 관해 질문이 있는데, 다음과 같이 입력하면 맞습니까?
#!_ perl
?
답변1
아니 난 할 수 없어. 이 경우에는 일반적으로 _
환경 변수를 의미합니다 .$_
이전 줄의 마지막 매개변수로 설정. 그것은 보편적이지 않습니다 /usr/bin/env
.
그러나 shebang은 환경 변수를 확장하지 않습니다. 이는 #!
선택적 공백, 명령 이름, 최대 1개의 공백 및 1개의 인수로 구성됩니다(일부 시스템에서는 더 많은 공백을 허용하지만 전부는 허용하지 않음). 따라서 shebang은 프로그램을 실행하려고 시도하지만 _
이는 원하는 것이 아닐 수도 있습니다.
이것이 작동하더라도 혼란스러울 수 있으므로 다른 사람이 사용하도록 의도된 명확한 코드에서는 이를 피하는 것이 좋습니다.