martedì 8 maggio 2007

Cicli for-while e funzioni

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: