Strutture di controllo nella shell

Come ogni linguaggio di programmazione anche la shell ha delle strutture di controllo, la cui logica e sintassi è simile a quelle comuni in altri linguaggi come il C.

IF THEN ELIF ELSE
if cmd1 -  Se l'ultimo comando in cmd1 è terminato con successo
    then
cmd2 - I comandi cmd2 vengono eseguiti
elif
    cmd3 - Altrimenti se l'ultimo comando in cmd3 è terminato con successo  
then
    cmd4 - Vengono eseguiti i cmd4
else
    cmd5 - Altrimenti, se ne cmd1 ne cmd3 sono soddisfatti, vengono eseguiti i cmd5
fi

FOR IN DO DONE
for cmds - Cmds viene eseguito tante volte quanti sono
[in  a b c...]    - i valori in a b c. Ad ogni ciclo il valore di vars cambia
do - a seconda del corrispettivo valore a b c....
    cmds
done

WHILE DO DONE
while cmds1 - Esegue cmd1 e se i comandi terminano con valore logico vero
do
    cmds2 - Esegue cmd2 fino a quando cmd1 termina con valore logico falso
done

UNTIL DO DONE
until cmd1 - Esegue cmd1 e se i comandi terminano con valore logico falso
do
    cmd2 - Esegue cmd2 fino a quando cmd1 termina con valore logico vero
done

CASE IN ESAC
case vars in - Viene effettuato un confronto tra vars
    match1) list1 ;; - e le match1.. finchè non trova il
    match2) list2 ;; - corrispettivo valore
    match3) list3 ;;
    ...
esac

Privacy Policy