В маке программы устроенны очень интересным образом, все программы это своебразные пакеты с набором файлов в том, числе и с самой программой. Вы можете сами убедиться в этом, нажав на программу правой кнопкой мыши выбрав -> Show Package Contents.
Внутри вы скорей всего увидите вот такую структуру "
Contents->( Resources, MacOS, _Signature)"
Тут все понятно, Resources - это ресурсы программы. иконка программы, какие то граффические картинки, иконки файлов связанных с данной программой и т.д., в MacOS находиться сама программа, ее исполнительный файл, _Signature - это цифровая подпись программы и ее разработчика, файлы в Contents это файлы которые необходимы системе для определения версии программы и самой программе.
Для того, чтобы иметь возможность запускать программы (Например, какие то линуксовые программы установленные через MacPorts или Brew), нам нужен сам скрипт ему нужно дать права на исполнения:
sudo chmod +x ваш_скрипт.sh
После этого убирает расширение у вашего скрипта, чтобы получился стандартный файл
Создаем папку с именем вашего приложения например: Приложение , а внутри создаем стандартную структуру описанную выше
Приложение -> Contents -> MacOS и в папку MacOS кидаем наш скрипт,
самое главное имя скрипту нужно дать такое же как имя вашего приложения!
И последнее, что нужно сделать. Вашей папке с вашим приложением нужно добавить расширение *.app
После этого вы можете запустить вашу программу и она должна заработать.
По ковырявшись в интернете я нашел скрипт который может все сделать автотически!
Скрипт можно найти тут:
transform your bash 2 app!