Re: Automatizzare script bash
shacky ha scritto:
> 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.
Puoi fare una cosa del tipo:
found=0
for img in `ls /vserver/img/*.img`
do
if [ $img == $IMMAGINE ]; then
found=1
break
fi
done
if [ ! found ]; then
immagini
exit 1
fi
# se arrivi qui c'è un valore valido in $IMMAGINE
> 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.
Questo è abbastanza facile supponendo che tu abbia il nome immagine in
una variabile $IMGNAME fai
if [ -x /foo/$IMGNAME.post.sh ]; then
source /foo/$IMGNAME.post.sh
fi
> 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?
Ti consiglio questi due capitoli di appunti di informatica libera [1] e
[2] e il bash programming howto [3]
Tieni presente che i frammenti di codice li ho buttati giù al volo e che
potrebbero darti problemi di sintassi, quindi magari vanno adattati un po.
Ciao
[1]http://a2.pluto.it/a2172.htm#almltitle1018
[2]http://a2.pluto.it/a2179.htm#almltitle1089
[3]http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
--
Fabio Napoleoni
f.napoleoni@email.it
****************************************************************
"Computer Science is no more about computers than astronomy is
about telescopes"
Edsger W. Dijkstra
****************************************************************
Reply to: