*.exe를 모노로 실행하도록 bash를 설정하는 방법은 무엇입니까?

*.exe를 모노로 실행하도록 bash를 설정하는 방법은 무엇입니까?

DE나 X가 없으면 Python 스크립트에서 작동하는 것처럼 ./my.exerun을 사용하고 싶습니다 .mono my.exe

답변1

Bash에는 그러한 기능이 없습니다. Zsh에서는 확장명을 기반으로 별칭을 설정할 수 있습니다.

alias -s exe=mono

그러나 이는 한 프로그램이 다른 프로그램을 호출할 때는 작동하지 않고 대화형 셸에서만 작동합니다.

Linux에서는 다음 명령을 사용하여 외부 바이너리 실행을 설정할 수 있습니다.binfmt_misc메커니즘 참조롤프 비얀 크윙거. 좋은 Linux 배포판은 이를 모노 런타임 패키지의 일부로 자동 설정합니다.

루트 권한이 없어 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

관련 정보