web-dev-qa-db-ja.com

モノで* .exeを実行するようにbashを設定するにはどうすればよいですか?

DEもXもないので、./my.exe 走る mono my.exe、pythonスクリプトで動作するように。

7
cnd

Bashにはそのような機能はありません。 Zshは、拡張機能に基づいてエイリアスを設定できます。

alias -s exe=mono

これはインタラクティブシェルでのみ機能しますが、プログラムが別のシェルを呼び出す場合は機能しません。

Linuxでは、 binfmt_misc メカニズムを使用して外部バイナリの実行を設定できます。 Rolf Bjarne Kvinge を参照してください。優れたLinuxディストリビューションは、これをモノランタイムパッケージの一部として自動的に設定します。

ルート権限がないためにbinfmt_miscを使用できない場合は、ラッパースクリプトを選択する必要があります。

#!/bin/sh
exec /path/to/mono "$0.exe" "$@"

ラッパースクリプトを.exeファイルと同じディレクトリに置き、同じ名前で.exeを付けないでください。

可能です:

  • Rootになり、次のコマンドでカーネルのbinfmtモジュールをオンにします(このコマンドを/etc/rc.localブートスクリプトに追加して、ブート時に実行されるようにすることができます)。

    modprobe binfmt

  • 以下の行を/ etc/fstabファイルに追加します。

    binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc none

  • 次に、システムで起動時に次のコマンドを実行します。

    echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register

  • ファイルシステムでも.exeファイルを実行可能としてマークしてください。

    chmod +x myprogram.exe

(ここから: http://mono-project.com/Guide

これは推奨される方法ではないことに注意してください。上記のガイドページと、モノラルアプリケーションの場合は アプリケーションのデプロイ方法に関するページ をお読みください。

6

次のガイドを使用して、bashスクリプト内にファイルを埋め込むことができる場合があります http://www.linuxjournal.com/content/add-binary-payload-your-Shell-scripts

2
Kotte