#!_ perl은 #!/usr/bin/env perl과 동일합니까?

#!_ perl은 #!/usr/bin/env perl과 동일합니까?

내 환경은 다음과 같이 말합니다.

_=/usr/bin/env

Shebang에 관해 질문이 있는데, 다음과 같이 입력하면 맞습니까?

#!_ perl

?

답변1

아니 난 할 수 없어. 이 경우에는 일반적으로 _환경 변수를 의미합니다 .$_이전 줄의 마지막 매개변수로 설정. 그것은 보편적이지 않습니다 /usr/bin/env.

그러나 shebang은 환경 변수를 확장하지 않습니다. 이는 #!선택적 공백, 명령 이름, 최대 1개의 공백 및 1개의 인수로 구성됩니다(일부 시스템에서는 더 많은 공백을 허용하지만 전부는 허용하지 않음). 따라서 shebang은 프로그램을 실행하려고 시도하지만 _이는 원하는 것이 아닐 수도 있습니다.

이것이 작동하더라도 혼란스러울 수 있으므로 다른 사람이 사용하도록 의도된 명확한 코드에서는 이를 피하는 것이 좋습니다.

관련 정보