Shell Scripting - Introduction & Shebang
Sommario:
- Direttiva sull'interprete di Shebang
- Utilizzo di Shebang negli script Bash
- Script di esempio
- Sovrascrivere Shebang
- Conclusione
Questa sequenza di caratteri (
#!
) Si chiama shebang e viene utilizzata per indicare al sistema operativo quale interprete utilizzare per analizzare il resto del file.
Direttiva sull'interprete di Shebang
La direttiva sull'interprete Shebang ha la seguente forma:
#!interpreter
- La direttiva deve essere la prima riga dello script. La direttiva deve iniziare con shebang
#!Lo spazio bianco dopo i caratteri shebang è facoltativo. L'interprete è il percorso completo di un file binario (es:/bin/sh,/bin/bash). Gli argomenti dell'interprete sono opzionali.
Esempi:
-
#!/bin/bash- Usabashper analizzare il file.#!/usr/bin/env perl- Usa il comandoenvper trovare il percorso dell'eseguibileperl.#!/usr/bin/pythonEsegue il file usando il binariopython.
Utilizzo di Shebang negli script Bash
Se non viene specificato uno shebang e l'utente che esegue lo script Bash utilizza un'altra shell, lo script verrà analizzato da qualunque interprete predefinito venga utilizzato da quella shell. Ad esempio, l'interprete predefinito per
bash
è
bash
e per
zsh
è
sh
. Per assicurarti che il tuo script venga sempre interpretato con Bash dovrai specificare il percorso eseguibile usando shebang.
Esistono due modi per utilizzare la direttiva Shebang e impostare l'interprete.
-
Usando il percorso assoluto del binario bash:
#!/bin/bashUtilizzando l'utilità
env:#!/usr/bin/env bash
Il vantaggio di usare il secondo approccio è che cercherà l'eseguibile
bash
nella variabile ambientale
$PATH
dell'utente. Se ci sono più percorsi per
bash
, il primo verrà utilizzato dallo script.
Quando si utilizza la prima opzione per aggiungere un'opzione alla fornitura della shell Bash, passarla all'interprete. Ad esempio, per eseguire lo script in una modalità di debug dovresti usare
#!/bin/bash -x
. Se si utilizza il metodo
env
, è necessario utilizzare
set
per dichiarare l'opzione. Per abilitare la modalità debug aggiungere
set -x
dopo la riga shebang.
Script di esempio
Creiamo una semplice sceneggiatura usando shebang che stamperà "Hello, World". Apri il tuo editor di testo e incolla la seguente riga:
nano hello_world
Ciao mondo
#!/bin/bash echo "Hello, World"
Per poter eseguire lo script senza specificare l'interprete dalla riga di comando, è necessario rendere eseguibile il file:
chmod +x hello_world
Ora se puoi eseguire lo script digitando
./
seguito dal nome dello script:
./hello_world
Sovrascrivere Shebang
Se per qualche motivo vuoi sovrascrivere l'interprete impostato nella riga Shebang devi eseguire lo script specificando esplicitamente la shell desiderata.
Ad esempio, per eseguire uno script con
#!/bin/sh
specificato nella riga Shebang usando la shell
bash
, digitare:
bash hello_world
Nota: non è una buona idea sovrascrivere l'interprete della shell in quanto potrebbe comportare un comportamento imprevisto dello script.
Conclusione
Ormai dovresti avere una buona conoscenza di cosa sia Shebang e di come usarlo nei tuoi script Bash.
bash terminalMicrosoft Research Asia assegna i gate a 10 anni Bash
Microsoft Research Asia è passata da una dozzina di persone nel 1998 a più di 350 un decennio dopo.
Come eseguire Bash su Ubuntu su Windows 10
L`abilitazione di Windows Subsystem per Linux consente di eseguire Bash su Ubuntu su Windows 10, script Bash , Strumenti da riga di comando di Linux, strumenti Linux-first.
Matrici di Bash
Le matrici sono una delle strutture di dati più utilizzate e fondamentali. In questo articolo, tratteremo gli array Bash e spiegheremo come usarli negli script Bash.







