Si has escrit, descarregat, o obert alguna vegada un script de Bash, segur que t'has trobat amb una primera línia una mica estranya que no tothom sap què significa i per què cal posar-la allà. M'estic referint a #!/bin/bash. Doncs bé, en aquest article podràs conèixer tots els detalls sobre com es diu, per a què serveix, i si sempre és igual o hi ha alguns canvis.
Què és un llenguatge interpretat?
Un llenguatge de programació interpretat és aquell que no necessita ser compilat per executar-se, sinó que es pot executar directament des del codi font usant un intèrpret, que no és res més que un programa que pot traduir el codi a unes instruccions comprensibles per la màquina. Això aporta alguns avantatges:
- multiplataforma: en no ser binari, es poden executar en diverses plataformes sense modificacions, cosa que és un clar avantatge si volem que el codi funcioni en qualsevol sistema.
- portabilitat: si l'intèrpret està llest per a una plataforma, aleshores l'script o llenguatge interpretat funcionarà en aquesta plataforma.
Tanmateix, aquests llenguatges interpretats també tenen els seus desavantatges:
- Una d'elles és el rendiment, ja que necessiten l'intèrpret sempre executant-se en segon pla perquè funcioni.
- la pròpia dependència de lintèrpret.
Com a exemple d' llenguatges interpretats se'n poden citar alguns com Java, C#, JavaScript, Visual Basic .NET i VBScript, Perl, Python, Lips, Ruby, PHP, ASP, etc.
Què és un script?
Un script no és més que un codi creat amb un llenguatge de programació interpretat per fer una tasca. Generalment és un programa senzill, amb un succés d'ordres o ordres que es van executant de manera seqüencial.
Què és #!/bin/bash (shebang)?
Finalment, el tema d'aquest article és aquest famós #!/bin/bash, que es coneix a l'argot d'Unix com Shebang. Encara que aquest és el més habitual, no sempre cal utilitzar perquè l'script funcioni. En altres projectes també tenen els seus propis shebangs, com ara #!/usr/bin/env python3, #!/bin/sh, etc.
L'objectiu del shebang és simplement indicar la ruta completa de l'intèrpret d'ordres, perquè es pugui localitzar sigui on sigui on s'executi l'script. A més, com pots comprovar, no només s'hi determina la ruta, també l'intèrpret, en aquests casos Bash, Python 3, i altres intèrprets per treballar.