xslt shbang:コマンドラインでxsltを使用する

xslt shbang:コマンドラインでxsltを使用する

私は(愚かな?)適度に一般的なものを書いたxslt スクリプト。

標準または類似のXML文書を読んで実行ファイルに変換したいと思います。

他の言語でこれを行うには、次の方法を使用します。シバン

xsltprocと友達と一緒にこれを行う簡単で標準的な方法はありますか?もちろん、最初のコメント行を削除するためにxsltprocの周りにラッパーを書くことができますが、標準的な内容がある場合は使用する方が良いでしょう。

ベストアンサー1

一般を使用できますbinfmtその他実行可能ファイルの実行時にどのインタプリタが使用されるかを処理するカーネルモジュールです。通常、qemuまたはプレフィックスを付けずに外部アーキテクチャファイルを実行できるようにするために使用されますがwine魔法ファイルヘッダーの一連の文字または特定のファイル拡張子(例:*.xsltView Kernel)文書

demo.xsltたとえば、次の文字で始まるファイルがある場合

<xsl:stylesheet version=...

<xsl:stylesheetファイルのオフセット0の文字列を認識するようにモジュールに要求し、/usr/bin/xsltprocrootとして実行できます。

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

おすすめ記事