Shebang: che cos’è e come funziona

di Lorenzo Neri

Shebang: che cos’è e come funziona? In questo articolo affronteremo assieme l’utilizzo dello shebang e quindi capirai non solo che cos’è, ma anche come funziona.

Se stai realizzando degli script bash, categoria che è presente nel mio blog se volessi approfondire, ti sarai sicuramente imbattuto in qualcosa come:

#!/usr/bin/env

Non è ostrogoto, ma è proprio quello che ti ha portato a leggere questo articolo: quello è uno shebang e sicuramente ti starai chiedendo che cos’è realmente e come funziona. Tranquillo, ci arriviamo: ma prima le presentazioni!

Mi chiamo Lorenzo Neri e sono un informatico e ho realizzato il blog che stai leggendo in questo preciso istante per aiutare persone come te a padroneggiare l’arte del nuovo millennio, l’informatica.

Tutti gli articoli che leggerai, incluso questo, sono frutto di un problema a cui ho cercato di creare una soluzione nel corso della mia carriera lavorativa: ogni articolo infatti, è la soluzione al problema. Ciò detto, incominciamo.

Shebang: che cos’è?

Gli shebang, sono utilizzati negli script bash come dicevo prima, per far sì che si possa specificare l’interprete con cui eseguire lo script stesso, questo per i sistemi UNIX e dunque MacOS e Linux ai giorni nostri.

Per dirla in maniera meno tecnichese, lo shebang è la prima linea di uno script che ti permette di decidere quale interprete utilizzare per eseguire il tuo stesso script bash.

Fino a questo punto nient’altro da aggiungere, ma per capirne la struttura e il funzionamento dobbiamo andare oltre.

Come funziona shebang all’interno di uno script bash

Per essere più precisi, dovremmo dire all’inizio di uno script bash. Lo shebang è caratterizzato dal #! all’inizio della linea stessa che costituisce lo shebang a tutti gli effetti.

Dunque lo shebang È EFFETTIVAMENTE il cancelletto seguito dal punto esclamativo.

E poi?

E poi è necessario aggiungere il path dell’interprete che dev’essere scritto per esteso a seguito dello shebang effettivo.

Ma facciamo degli esempi, che penso sia meglio!

Shebang: come funziona la sintassi

La sintassi, volendo fare degli esempi, è la seguente:

#!/percorso/path/interprete [argomenti]

Altrimenti, possiamo usare gli argomenti, come segue:

#!/percorso/path/interprete -arg1 -arg2

Giusto per curiosità tua, sappi che lo shebang viene usato anche per Python e, in certi casi, anche per Perl.

Giunti a questo punto, dopo aver capito che cos’è lo shebang e come funziona, parliamo un attimo dei suoi benefici.

Shebang: quali sono i suoi benefici

I benefici sono un bel po’ nel suo utilizzo.

Il primo in assoluto, è quello di rendere gli script quanto più simili a dei file eseguibili, questo poiché si specifica nero su bianco (o altre combo di colori a seconda del tuo terminale) come eseguire lo script stesso. Di fatto il secondo punto è che non possono essere usati tramite “exec” ed è l’unico modo per renderli quanto più vicini al concetto di file eseguibile.

Il terzo, è legato al fatto che, se esegui uno script bash dotato di shebang, se eseguissi il comando “ps”, apparirebbe il vero nome dello script anziché un semplice “sh” o “bash”.

Il quarto è legato al fatto che gli script possano essere associati ad uno user ID.

Gli ultimi due aspetti, sono legati al fatto che puoi usare shell alternative per poterli eseguire a prescindere da come venga interpretato il file, a conclusione ti permette di usare altri interpreti in modo molto più efficacemente a seconda del codice che compone il tuo script.

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più