make를 사용하여 쉘 스크립트를 실행 가능한 바이너리로 컴파일

make를 사용하여 쉘 스크립트를 실행 가능한 바이너리로 컴파일

쉘 스크립트를 바이너리 파일로 변환하는 것이 가능하다는 것을 알고 있지만 shc이를 해독할 수 있는 명확하고 잘 알려진 도구가 있습니다. 그래서 저는 이 일을 할 수 있는 다른 방법을 찾고 싶습니다.

쉘 스크립트를 실행 가능한 바이너리로 변환할 수도 있다고 들었는데 make제가 찾은 모든 사이트는 Linux에서 쉘 스크립트를 실행 가능한 바이너리로 변환하는 shc방법을 아는 사람이 있습니까 ?make

답변1

논리적으로 쉘 스크립트는 런타임에 새로운 쉘 구문을 다양한 방법으로 주입할 수 있기 때문에 바이너리로 컴파일될 수 없습니다. 예를 들어 변수 리터럴에서 새 명령을 생성한 exec다음 source컴파일하지 않고 해당 명령을 실행합니다. 수정되었습니다).

shc는 바이너리를 생성하지만 아무것도 컴파일하지 않습니다. 임의의 키로 쉘 텍스트 파일을 인코딩하고 이를 파일에 삽입합니다. 실행 파일이 실행되면 텍스트를 디코딩하여 원하는 셸로 파이프합니다.

답변2

아무도 이것을 모릅니다. 불가능한.

make빌드 자동화 도구입니다. 소프트웨어 구축 프로세스를 자동화하지만 소프트웨어의 실제 구축은 여전히 ​​컴파일러 및 기타 구축 도구에 의해 수행됩니다. 따라서 원하는 작업을 수행하는 도구(예 shc: ) 를 찾으면그 다음에당신은 할 수오토메이션소프트웨어, 코드 또는 쉘 스크립트를 자체적으로 컴파일하지 않습니다 make. make단지 쉘 스크립트와 같은 다른 명령을 호출할 뿐입니다.

관련 정보