Namų kataloge turiu bin/
katalogą kuriame per daug metų sukaupiau gausybę skriptų. Tarp jų yra skriptų visokiomis kalbomis: BASH, SH, Ruby, PHP, Python, JavaScript (Node). Šis katalogas auga ir per Dropbox yra perduodamas kitiems mano kompiuteriams.
Dauguma kalbų, tokių kaip Ruby ar Python, leidžia sukompiliuoti savo skriptus. O šiuos - galima dalinti kitiems.
Tačiau ar žinojote, kad tą patį galima padaryti ir su BASH? T.y. pasidaryti binarinį paleidžiamą failą?
SHC paketas
Jeigu nesinori perduoti pliko ir visiem perskaitomo BASH skripto, įdiekime shc
.
Naujuose Ubuntu tai galima padaryti su:
apt install shc
Debian arba senesniuose Ubuntu OS:
apt-get install shc
Fedora ir Centos OS:
yum install shc
MacOs:
brew install shc
Skriptų kompiliavimas
Kompiliavimas vyksta labai paprastai ir vos viena komanda:
shc -f bash_skriptas.sh -o sukompiliuotas_skriptas
Vėliau, savo skriptą galima paleisti su komanda: ./sukompiliuotas_skriptas
.
Tiesa, kažkam jį perdavus / nusiuntus gali reikėti pakeisti paleidimo teises:
chmod +x sukompiliuotas_skriptas
Sukompiliuoto skripto tikrinimas
Patikrinti ar tai tikrai sukompiliuotas failas galima keliomis komandomis:
$ file sukompiliuotas_skriptas
sukompiliuotas_skriptas: Mach-O 64-bit executable x86_64
Arba tiesiog pažiūrėjus jo turinį su less sukompiliuotas_skriptas
.
Ką daugiau gali ši komanda galite perskaityti shc žinyno puslapyje .