Я понимаю, что Linux использует строку shebang, чтобы определить, какой интерпретатор использовать для языков сценариев, но как он работает для двоичных файлов?
Я имею в виду, что могу запускать бинарные файлы Linux и установить как двоичные файлы Wine, так и mono , Windows и .NET. И для всех них это просто ./binary-name
(если не в PATH), чтобы запустить его.
Как Linux определяет, что данный двоичный файл должен быть запущен как собственный двоичный файл Linux, как собственный двоичный файл Windows (с использованием средств Wine ) или как двоичный файл Windows .NET (с использованием средств mono )?