Antworten:
Bash hat keine solche Funktion. Mit Zsh können Sie Aliase basierend auf Erweiterungen einrichten:
alias -s exe=mono
Dies würde jedoch nur in einer interaktiven Shell funktionieren, nicht wenn ein Programm ein anderes aufruft.
Unter Linux können Sie die Ausführung fremder Binärdateien über den Mechanismus binfmt_misc einrichten . siehe Rolf Bjarne Kvinge . Gute Linux-Distributionen richten dies automatisch als Teil des Mono-Laufzeitpakets ein.
Wenn Sie binfmt_misc nicht verwenden können, weil Sie keine Root-Berechtigungen haben, müssen Sie sich mit Wrapper-Skripten zufrieden geben.
#!/bin/sh
exec /path/to/mono "$0.exe" "$@"
Legen Sie das Wrapper-Skript in dasselbe Verzeichnis wie die .exe
Datei mit demselben Namen ohne .exe
.
Es ist möglich:
Werden Sie root und aktivieren Sie das binfmt-Modul in Ihrem Kernel mit diesem Befehl (möglicherweise möchten Sie diesen Befehl zu Ihrem Boot-Skript /etc/rc.local hinzufügen, damit er beim Booten ausgeführt wird):
modprobe binfmt
Fügen Sie die folgende Zeile zu Ihrer / etc / fstab-Datei hinzu:
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc none
Lassen Sie dann Ihr System beim Booten den folgenden Befehl ausführen:
echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register
Stellen Sie sicher, dass Sie Ihre EXE-Dateien auch im Dateisystem als ausführbar markieren:
chmod +x myprogram.exe
(von hier: http://mono-project.com/Guide )
Beachten Sie, dass dies nicht die empfohlene Methode ist. Lesen Sie die oben genannte Handbuchseite und auch die Seite zur Anwendungsbereitstellung für Monoanwendungen.
Möglicherweise können Sie die Datei mithilfe des folgenden Handbuchs in ein Bash-Skript einbetten. Http://www.linuxjournal.com/content/add-binary-payload-your-shell-scripts