In questa lezione, vedremo come possiamo usare le istruzioni If-Then-Else negli script di ambiente Bash che scriviamo. Le istruzioni If-Then-Else sono uno strumento utile per fornire un modo per definire il percorso di azione di uno script quando alcune condizioni sono soddisfatte., Vediamo qual è la sintassi per le istruzioni If-Then-Else:
then THEN-COMMANDS;
else ELSE-COMMANDS;
fi
Nel comando sopra mostrato, se SOME-COMMANDS è trovato vero o il suo stato di ritorno è trovato 0, i THEN-COMMANDS saranno eseguiti. Se questo non è il caso, vengono eseguiti i comandi ELSE -. Nei COMANDI SOME, di solito facciamo un confronto di stringhe o un confronto di valori sotto forma di numeri interi. Possiamo anche fare molte operazioni che coinvolgono i file., Diamo un’occhiata ad alcuni comandi primari di esempio che vengono utilizzati principalmente quando si lavora con condizioni basate su file:
I COMANDI THEN e ELSE possono essere qualsiasi operazione UNIX valida o qualsiasi programma eseguibile. Si noti che i comandi then e fi sono separati da punto e virgola in quanto sono considerati elementi completamente separati di uno script.
If-Then-Else Esempio semplice
Iniziamo la nostra lezione con un esempio molto semplice con le istruzioni If-Then-Else.,
Ecco un programma di esempio:
Se Esempio
Ecco l’output che vediamo quando eseguiamo il nostro script:
I valori sono gli stessi!
Using
Usando gli argomenti della riga di comando
Possiamo anche usare gli argomenti della riga di comando nei nostri script e usare il numero di argomenti e i valori stessi come condizione nell’istruzione IF che definiamo. Per prima cosa definiamo un file di testo con il seguente contenuto:
terminalish!
Ora, possiamo scrivere uno script che trova se una parola si verifica in un file di testo o meno. Definiamo ora lo script:
grep $1 $2
quindi
echo “$1 non trovato nel file $2.”
else
echo ” found 1 trovato nel file 2 2.”
fi
echo ” Script completato.”
Questo script è molto dinamico. Considera la parola da trovare e il file da cercare dalla riga di comando stessa. Ora, siamo pronti per eseguire il nostro script:
Vedremo un output come:
amore trovato nel file ciao.txt.
Script completato.
Verifica il numero di argomenti della riga di comando
all’Interno di un’istruzione IF, si può anche verificare il numero di argomenti della riga di comando sono stati passati al comando, in modo che noi possiamo agire lo stesso:
quindi
echo “Non abbastanza argomenti”
else
echo “Buon lavoro!,”
fi
eseguire questo script, otterremo il seguente output:
argomenti della riga di Comando
Se-Poi-Elif-Else
Si può anche avere più istruzioni SE stesso blocco di restringere il percorso decisionale del nostro programma per eseguire i comandi che abbiamo definito., Ecco la sintassi per definire più istruzioni SE il nostro script:
then
RESULT-COMMANDS;
elif
ANOTHER-COMMANDS;
then
ANOTHER-RESULT-COMMANDS;
else
ALTERNATE-COMMANDS;
fi
Questo sembra molto familiare, anche se e facile da seguire pure., Cerchiamo di definire un semplice esempio, per stabilire come l’albero:
Ecco cosa si ottiene con questo comando:
Se Poi Elif Altro esempio
l’Utilizzo di casi di staements
istruzioni IF-ELSE sono utili quando si ha una grande lista di opzioni che dovete decidere. Ma nel caso in cui si desideri eseguire un’azione solo in pochi casi di corrispondenza esatta con il risultato, possiamo utilizzare le istruzioni CASE anche negli script Bash., La sua sintassi è simile a:
L’ultimo caso con * funge da caso predefinito e verrà eseguito quando nessuno dei casi sopra definiti risulta essere una corrispondenza.
Costruiamo rapidamente un semplice esempio usando le istruzioni CASE:
1)
echo “Il valore è 1.”
;;
2)
echo ” Valore è 2.”
;;
3)
echo ” Valore è 3.”
;;
*)
echo ” Altro valore passato.”
esac
Ogni istruzione CASE è terminata da ;; (doppi punti e virgola)., Ecco cosa si ottiene con questo comando:
esempio
Conclusione
In questa lezione abbiamo visto come possiamo usare IF-ELSE, SE-POI-ELIF e istruzioni CASE in Bash script possiamo definire a compiere determinate azioni, sulla base di valori che esistono nei nostri programmi o trasmesso dall’utente utilizzando i parametri posizionali.