Shebang Bash ha spiegato con esempi

Shebang Bash ha spiegato con esempi
Bash è un interprete della lingua di comando. Molti sistemi operativi incorporano Bash come interprete di comando predefinito, in particolare la maggior parte dei sistemi GNU/Linux. Bash Scripting è un metodo per automatizzare un set di comandi che altrimenti verrebbe eseguita interattivamente uno per uno.

In questa guida, controlla cos'è Shebang Bash e come usarlo.

Shebang Bash:

In Bash Scripting, Shebang è un modo per dichiarare quale interprete utilizzerà il sistema operativo per analizzare il resto del file. Lo shebang è caratterizzato dal set di personaggi “#!" (senza virgolette).

Ecco una rapida rottura della direttiva dell'interprete di Shebang.

#! [argomenti]

Ad esempio, se uno script deve essere analizzato usando la shell bash, allora la direttiva dell'interprete di Shebang sembrerebbe così.

#!/Bin/Bash

La direttiva dell'interprete di Shebang ha alcune proprietà.

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

Ecco una lista di alcune delle direttive dell'interprete di shebang più comuni.

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

Usando Shebang Bash:

Gli script non possono avere Shebang Bash. Qualsiasi script di questo tipo verrà analizzato usando l'interprete predefinito. Ad esempio, Bash è l'interprete predefinito per Bash e SH per ZSH. Mentre la maggior parte dei sistemi UNIX/Linux ha la base predefinita, gli utenti hanno le opzioni per utilizzare altri. In tale scenario, senza dichiarare l'interprete, lo script potrebbe non eseguire il suo compito preferito.

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

#!/Bin/Bash

Un altro metodo è usare il env utilità per individuare l'eseguibile.

#!/usr/bin/env bash

Il vantaggio dell'utilizzo dell'utilità ENV è che cercherà l'eseguibile nell'ambito della variabile dell'ambiente $ dell'utente corrente. In questo esempio, Env cercherà il bash. Se c'è più di un eseguibile Bash dichiarato nella variabile $ Path, allora verrà utilizzato il primo.

Come accennato, Shebang Bash supporta anche argomenti eseguibili. Ad esempio, per usare Bash con la modalità di debug, la direttiva dell'interprete di Shebang sembrerebbe così.

#!/bin/bash -x

Quando si tratta di usare env Per la bash di shebang, l'aggiunta di un argomento eseguibile richiede l'opzione "set". Ad esempio, quello seguente utilizzerà Bash con la modalità debug abilitata.

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

Esempio di script:

Abbiamo discusso delle 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 "hello_world_bash"

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

$ chmod +xx

Esegui lo script:

$ .//

Non molto difficile, giusto? Ora, proviamo a usare le diverse espressioni di Shebang Bash. Prova quelli indicati di seguito:

$ #!/usr/bin/env bash
$ set -x
$ echo "hello_world_bash_debug"

Sovrappurendo la Bash di Shebang:

Mentre il bash di shebang definisce l'interprete da utilizzare, in determinate situazioni, potresti voler utilizzare un interprete diverso. È possibile sovrascrivere l'interprete definito dallo script specificando esplicitamente l'interprete alla shell.

Ad esempio, dai un'occhiata al seguente script:

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

Per impostazione predefinita, verrebbe eseguito usando sh. Per eseguirlo usando Bash, utilizzare il seguente metodo:

$

Si noti che per i normali casi d'uso semplicemente utilizzando il valore predefinito sh O Bash L'interprete è abbastanza buono e la prevalenza non è rilevante.

Pensieri finali:

Shebang Bash è un concetto molto semplice. Per gli script bash, è molto importante capirlo e implementarlo.

Interessato di più negli script bash? Dai un'occhiata a questa guida per principianti su come scrivere un semplice script bash.

Felice calcolo!