Programmazione BASH

Shebang Bash spiegato con esempi

Shebang Bash spiegato con esempi
Bash è un interprete del linguaggio di comando. Molti sistemi operativi incorporano bash come interprete di comandi predefinito, specialmente la maggior parte dei sistemi GNU/Linux. Lo scripting Bash è un metodo per automatizzare un insieme di comandi che altrimenti verrebbero eseguiti in modo interattivo uno per uno.

In questa guida, scopri cos'è shebang bash e come usarlo.

Shebang Bash:

Nello scripting bash, Shebang è un modo per dichiarare quale interprete verrà utilizzato dal sistema operativo per analizzare il resto del file. Lo Shebang è caratterizzato dall'insieme di caratteri “#!" (senza virgolette).

Ecco una rapida ripartizione della direttiva per l'interprete Shebang.

#! [argomenti]

Ad esempio, se uno script deve essere analizzato utilizzando la shell Bash, la direttiva dell'interprete Shebang sarà simile a questa.

#!/bin/bash

La direttiva per l'interprete Shebang ha determinate proprietà.

  • Deve essere la prima riga dello script.
  • Deve iniziare con uno shebang (#!).
  • Potrebbero esserci o meno spazi bianchi dopo lo shebang (#!).
  • L'interprete sarà il percorso completo di un file binario.
  • Ci possono essere o meno argomenti dell'interprete.

Ecco una lista di alcune delle direttive per interpreti Shebang più comuni.

  • #!/bin/bash: lo script verrà analizzato usando bash.
  • #!/usr/bin/python: lo script verrà analizzato utilizzando il pitone binario.
  • #!/usr/bin/env perl: lo script verrà analizzato utilizzando il perla eseguibile. La posizione del perla eseguibile sarà fornito dal env comando.

Usando Shebang Bash:

Gli script non possono avere Shebang bash. Qualsiasi script di questo tipo verrà analizzato utilizzando l'interprete predefinito. Ad esempio, bash è l'interprete predefinito per bash e sh per zsh. Sebbene la maggior parte dei sistemi UNIX/Linux abbia bash come impostazione predefinita, gli utenti hanno la possibilità di usarne altri. In tale scenario, senza dichiarare l'interprete, lo script potrebbe non svolgere il suo compito preferito.

Esistono due metodi per utilizzare la direttiva Shebang per dichiarare l'interprete. Il primo è dichiarare il percorso del file all'eseguibile.

#!/bin/bash

Un altro metodo consiste nell'usare il env utility per individuare l'eseguibile.

#!/usr/bin/env bash

Il vantaggio dell'utilizzo dell'utilità env è che cercherà l'eseguibile nella variabile di ambiente $PATH dell'utente corrente. In questo esempio, env cercherà la bash. Se nella variabile $PATH è dichiarato più di un eseguibile bash, verrà utilizzato il primo.

Come accennato, Shebang bash supporta anche argomenti eseguibili. Ad esempio, per utilizzare bash con la modalità debug, la direttiva dell'interprete Shebang sarebbe simile a questa.

#!/bin/bash -x

Quando si tratta di usare env per Shebang bash, l'aggiunta di un argomento eseguibile richiede l'utilizzo dell'opzione "set". Ad esempio, il seguente utilizzerà bash con la modalità di debug abilitata.

#!/usr/bin/env bash
$ set -x

Esempio di sceneggiatura:

Abbiamo discusso le basi di Shebang bash. È ora di metterlo in pratica. Diamo un'occhiata all'implementazione di Shebang bash.

Avvia l'editor di testo di tua scelta e digita il seguente script:

$ #!/bin/sh
$ echo "ciao_mondo_bash"

Salva il file. Per eseguire lo script, deve essere contrassegnato come eseguibile. Esegui il seguente comando:

$ chmod +xx