Ciao a tutti. Nel solito script Bash che sto scrivendo (che mi servirà per creare automaticamente delle macchine virtuali Xen partendo da immagini preconfezionate) ho inserito questo pezzo per impostare la scelta dell'immagine da utilizzare:
if [ $IMMAGINE ]; then case $IMMAGINE in etch-minimal) IMG_ORIGINE="/vserver/img/debian-minimal.img" ;; *) immagini ;; esac fi La variabile $IMMAGINE è impostata da getopts in base all'argomento dato al parametro -o. In questo esempio, devo creare un "case" per ogni immagine .img che creo in /vserver/img/. "immagini" esegue una funzione presente nello stesso script che mostra l'elenco delle immagini disponibili (in questo caso solo etch-minimal: immagini () { echo "Immagini disponibili:" echo "" echo " * etch-minimal: Debian 4.0 Etch minimale" exit 1 } Vorrei automatizzare la cosa, evitando di dover aggiungere, ogni volta che aggiungo una nuova immagine, un nuovo "case" nella porzione di codice di cui sopra. In pratica, vorrei che lo script controllasse l'elenco dei file con estensione .img presenti nella directory /vserver/img/, e in base al loro nome impostare le varie immagini disponibili, in maniera dinamica. Inoltre, vorrei che se esiste un file /foo/[nome-immagine].post.sh, questo venga eseguito ad un certo punto dell'esecuzione dello script, senza che questo venga interrotto. Non ho la più pallida idea di come si possano fare queste due cosette, perchè non ho per nulla esperienza in bash. Mi potete aiutare? Grazie mille! Ciao.