Uno script di shell è un file contenente una serie di comandi in ordine di esecuzione. Quando lo script della shell viene eseguito, esegue tutti i comandi uno per uno in ordine. Uno script di shell può essere eseguito più volte, quindi consente di risparmiare tempo nell'esecuzione di ogni singolo comando uno per uno.
Alcuni dei motivi per cui hai bisogno di script di shell sono i seguenti:
- Per evitare lavori ripetitivi
- Per automatizzare le operazioni eseguite di frequente
- Combina sequenze di comandi complesse e ripetitive in un unico e semplice comando.
In un post precedente, abbiamo spiegato la creazione e l'esecuzione dello script della shell in Ubuntu. Questo post parla di come creare ed eseguire uno script di shell nel sistema Debian. Useremo la shell bash che è la shell predefinita in Debian.
Nota:i passaggi spiegati in questo post sono stati testati su Debian 10 (Buster) sistema.
Passaggio 1:creazione dello script della shell
Per creare uno script di shell, devi solo creare un file di testo semplice usando qualsiasi editor di testo come Nano, Vim, Gedit, ecc. Quindi nel file di testo, dovrai aggiungere i comandi nella stessa sequenza in cui vuoi che siano eseguito. Ricorda i seguenti punti durante la creazione di uno script di shell:
- Inizia lo script della shell con "#!/bin/bash"
- Ogni riga è trattata come un comando
- Inizia una riga di commento con #
Creeremo lo script chiamato "testscript" usando l'editor Nano; tuttavia, puoi scegliere qualsiasi editor di tua scelta. Prima di creare un file di script, assicurati che il suo nome non sia in conflitto con i comandi. Puoi verificarlo digitando "quale" seguito dal nome dello script:
$ which script_name
Nel nostro esempio, sarebbe:
$ which testscript
L'output seguente mostra che non esiste alcun comando o programma installato con il nome "testscript". Pertanto, possiamo procedere con questo nome.
Per creare lo script chiamato "testscript", eseguire il seguente comando in Terminale:
$ sudo nano testscript.sh
Dopo aver eseguito il comando sopra, un file vuoto verrà aperto nell'editor Nano. Innanzitutto, aggiungi "#!/bin/bash" all'inizio del file. Ora aggiungi i comandi che desideri eseguire nello script con ogni comando in una riga separata. Qui vogliamo creare uno script in grado di svolgere le seguenti attività:
- Stampa l'indirizzo IP del nostro sistema
- Elenca i file nella directory Download
- Esegui il backup dei file dalla directory Download alla directory Documenti
Quindi, abbiamo scritto le seguenti righe di comandi nel nostro script:
#!/bin/sh echo "Now we are going to print IP address" ip addr | grep ens37 echo "Now we are going to ping Google website" ping -c 2 google.com echo "Now we are going to backup our Downloads directory to Documents directory" cp -rv ~/Downloads ~/Documents
Dopo aver inserito i comandi nello script, salvalo e chiudilo.
Ecco come appare il nostro file di script nell'editor Nano:
Passaggio 2:imposta le autorizzazioni di esecuzione
Ora dovrai rendere eseguibile il file di script per eseguirlo come programma. Puoi farlo eseguendo il seguente comando in Terminale:
$ chmod +x script_name
Nel nostro esempio, sarebbe:
$ chmod +x testscript.sh
Passaggio 3:esecuzione dello script della shell
Dopo che le autorizzazioni di esecuzione sono state applicate allo script, puoi eseguire lo script come segue
$ ./script_name
Nota:se il tuo script è stato inserito in una directory diversa dalla directory di lavoro corrente, assicurati di navigare prima in quella directory e quindi di eseguire lo script.
Ad esempio, per eseguire il nostro script chiamato "testscript.sh", il comando sarebbe:
$ ./testscript.sh
Dopo aver eseguito lo script, la shell eseguirà ogni comando contenuto nello script in una sequenza e visualizzerà l'output. Di seguito è riportato l'output del nostro script:
Oltre a eseguire lo script utilizzando ./nome_script comando, ci sono altri due modi per eseguire lo script, che è il seguente:
$ bash script_name $ sh script_name
Ecco come creare ed eseguire uno script di shell nel sistema Debian 10 Buster.
Gli script della shell sono solo una serie di comandi che aggiungi in un file e li esegui insieme. Dopo aver seguito questo post, speriamo che ora tu possa creare facilmente uno script di shell e automatizzare i lavori ripetitivi.