in questa lezione parleremo dei cicli for, while e dell'utilizzo delle funzioni
il ciclo for della shell bash è sostanzialmente differente da quello presente in altri linguaggi di programmazione, il suo compito è quello di ripetere delle operazioni per un numero di volte presente in una lista che noi gli diamo in pasto.
La sintassi del comando é:
for elemento in lista
do
istruzioni
done
Creiamo un piccolo script .
salviamo il file di testo dandogli il nome di ciclofor e rendiamolo esecutivo con
sudo chmod a+rwx ciclofor, per lanciarlo digitiamo ./ciclofor
#!/bin/bash
lista=123456
for i in $lista
do
echo $i
done
nella seconda riga inizializzamo la varibile lista, nella terza riga assegniamo il contenuto della varibile lista alla varibile i.
nella quinta riga stampiamo il contenuto di “i” che saranno i numeri 123456 in successione.
CICLO WHILE
il ciclo while consente di eseguire un blocco di istruzioni fino a quando una certa condizione è vera.
la sintassi del comando è questa:
while [ condizione ]
do
comandi
done
anche in questo caso creiamo un piccolo script.
#!/bin/bash
# ciclo while
a=1
max=10
while [ $a -le $max ]
do
echo $a
a=$((a+1))
done
nelle seconda e terza riga si inizializzano le variabili a; max.
la condizione che esegue il comando while è che fino a quando la variabile a è minore della variabile max esegue il ciclo.
il risultato dello script e la stampa a video dei numeri 12345678910 in successione, visto che l'espressione matematica a=$((a+1)) non fa altro che incrementare il valore di “a” ad ogni ciclo.
LE FUNZIONI
le funzioni sono dei particolari procedimenti che ci permettono di creare dei comandi personalizzati utili quando dobbiamo ripetere delle porzioni di codice più volte.
la sintassi del comando è questa:
funzione() {
istruzioni
}
#!/bin/bash
funzione() {
echo "prova della funzione"
}
funzione
penso che non ce niente da spiegare si commenta da solo, utilizzando le funzioni possiamo metterci dentro qualsiasi tipo di comando che ci aiuti a semplificare i nostri script.
Nessun commento:
Posta un commento