[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Automatizzare script bash



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.



Reply to: