DE나 X가 없으면 Python 스크립트에서 작동하는 것처럼 ./my.exe
run을 사용하고 싶습니다 .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