답변1
일반을 사용할 수 있습니다binfmt기타실행 파일을 실행할 때 어떤 인터프리터가 사용되는지 처리하는 커널 모듈입니다. 일반적으로 qemu
또는 접두사를 붙이지 않고 외부 아키텍처 파일을 실행할 수 있도록 하는 데 사용되지만 wine
,마법파일 헤더의 일련의 문자 또는 특정 파일 확장자(예: *.xslt
View Kernel )문서.
demo.xslt
예를 들어, 다음 문자로 시작하는 파일이 있는 경우
<xsl:stylesheet version=...
<xsl:stylesheet
파일의 오프셋 0에 있는 문자열을 인식하도록 모듈에 요청 하고 /usr/bin/xsltproc
루트로 실행할 수 있습니다 .
colon=$(printf '\\x%02x' \':) # \x3a
echo ":myxsltscript:M::<xsl${colon}stylesheet::/usr/bin/xsltproc:" >/etc/binfmt.d/myxslt.conf
cat /etc/binfmt.d/myxslt.conf >/proc/sys/fs/binfmt_misc/register
/etc
재부팅 후에도 설정을 유지하려는 경우가 아니면 이 파일을 볼 필요가 없습니다 . 해당 파일이 없으면 /proc
먼저 파일을 설치해야 합니다.
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
이제 어떤 인수로든 실행할 chmod +x demo.xslt
수 있으면 demo.xslt
추가 첫 번째 인수로 제공된 xsltproc
파일 이름으로 실행 됩니다.demo.xslt
설정을 취소하려면 다음을 사용하세요.
echo -1 >/proc/sys/fs/binfmt_misc/myxsltscript
답변2
Shebang을 사용하여 XSLT 스타일시트를 실행 파일로 변경할 수 없습니다.