Precedente Indice Successiva

Le strutture di controllo - while e case

  • Un ulteriore costrutti ricorsivo è while <programma che valuta la condizione>; do <elenco di cose da fare>; done
  • In questo caso la lista di operazioni da eseguire verrà ripetuta fintanto che l'esecuzione del programma ritornerà il codice 0
  • Un ulteriore costrutto di selezione è case <parola da controllare> in (<elenco di casi, con caratteri jolly, separati da |>) <elenco di azioni da fare> ;; <eventuali altri casi> esac
  • la <parola da controllare> può essere una variabile (indicata dal $), una stringa contenente variabili (eventualmente racchiusa tra ") oppure il ciò che un comando ha stampato su standard output (racchiuso tra `)
  • E' da notare che ogni lista di comandi dei casi va terminata con due ;
  • La parola da confrontare viene confrontata con le varie espressioni in ordine, dalla prima all'ultima. Appena una coincide, viene eseguita la lista delle operazioni e non vengono eseguiti altri controlli. Se noi inseriamo una espressione più generica prima di una più specifica, verrà sempre solo eseguita la lista di operazioni della più generica.
  • Se si vuole creare un lista che venga eseguita in caso la parola di selezione non coincida con nessun caso precedente si può utilizzare come elenco delle condizioni da verificare ( * ) che intercetta qualunque parola non intercettata da altri prima
© Ing. Stefano Salvi - released under FDL licence

Valid XHTML 1.0! Valid CSS!