*.exeをモノラルで実行するようにbashを設定するには?

*.exeをモノラルで実行するようにbashを設定するには?

DEやXがない場合は、Pythonスクリプトで動作するように./my.exerunを使用したいと思います。mono my.exe

答え1

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

alias -s exe=mono

ただし、これはあるプログラムが別のプログラムを呼び出すときは機能せず、対話型シェルでのみ機能します。

Linuxでは、次のコマンドを使用して外部バイナリ実行を設定できます。binfmt_miscメカニズムリファレンスロールフビヤンクインガー。良いLinuxディストリビューションは、それをモノラルランタイムパッケージの一部として自動的に設定します。

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

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

ラッパースクリプトをファイルと同じディレクトリに.exe名前は同じですが.exe

答え2

可能:

  • ルートになり、次のコマンドを使用してカーネルで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)

これはお勧めの方法ではありませんので、上記のガイドページもお読みください。アプリケーションのデプロイ方法のページモノアプリケーション用。

答え3

次のガイドを使用して、このファイルをbashスクリプトに含めることができます。http://www.linuxjournal.com/content/add-binary-payload-your-shell-scripts

関連情報