Shell into Binary
Или компиляция Shell-скрипта в исполняемый бинарный код.
TL;DR или прелюдии
Как-то раз, однажды, в дни "весеннего равноденствия", не конспирации для, а для улучшения производительности зрел-назревал у меня вопрос "А можно ли, и если можно, то как скомпилировать shell-скрипт into binary? " Я конечно тогда решил эту задачу и был бесконечно счастлив, но c течением времени (у меня тогда еще не было привычки все записывать) взял да и забыл основательно. И вот опять...
Внезапно при написании очередного проекта в поисках оптимального решения, мне вдруг ударило в голову мыслью о том, что надо откомпилировать скрипты в исполняемый файл, тысызыть - "дабы сэкономить и оптимизировать runtime". Так вот, дабы и впредь не забыть, да и рассказать тем, кто не это и не знает как это делать я и решился на написание этой статьи.
Итак погнали...
Установка необходимого, а именно SHC.
Короче тут все просто, все что нужно - это установить компилятор SHC - shell script compiler.
Айнц. Установка в macOS:
homebrew
:
macports
:
Цвей. Установка Ubuntu/Debian:
Дрей. CentOS/Fedora
Пользователи Windows извиняйте идете лесом потому-что #виндекапец. PS: Хотя WSL вам в помощь.
Поставили! Идем дальше...
Создаем shell-скрипт script.sh
:
Делаем его исполняемым и запускаем:
Смотрим информацию о файле script.sh
Компилируем
Проверяем
Смотрим информацию о файле script
Ну ни ежа себе <censored> Получилось!
PS: На Linux системах информация будет что-то типа ELF 64-bit LSB executable, x86-64
бла бла бла.
Крч запускаем файл script
и радуемся !
Работает!
Спасибо, удачи и тд.