11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Esempio A-5. copy-cd: copiare un CD <strong>di</strong> dati<br />

#!/bin/bash<br />

# copy-cd.sh: copiare un CD dati<br />

Appen<strong>di</strong>ce A. Script aggiuntivi<br />

CDROM=/dev/cdrom # Dispositivo CD ROM<br />

FO=/home/bozo/projects/c<strong>di</strong>mage.iso # File <strong>di</strong> output<br />

# /xxxx/xxxxxxx/ Da mo<strong>di</strong>ficare secondo le<br />

#+ proprie impostazioni.<br />

DIMBLOCCO=2048<br />

VELOC=2 # Se supportata, si può usare una<br />

#+ velocità superiore.<br />

DISPOSITIVO=cdrom<br />

# DISPOSITIVO="0,0" per le vecchie versioni <strong>di</strong> cdrecord.<br />

echo; echo "Inserite il CD sorgente, ma *senza* montare il <strong>di</strong>spositivo."<br />

echo "Fatto questo, premete INVIO. "<br />

read pronto # Attende l’input,<br />

#+ $pronto non va bene.<br />

echo; echo "Copia del CD sorgente in $FO."<br />

echo "Occorre un po’ <strong>di</strong> tempo. Pazientate, prego."<br />

dd if=$CDROM of=$FO bs=$DIMBLOCCO # Coppia grezza del <strong>di</strong>spositivo.<br />

echo; echo "Rimuovete il CD dati."<br />

echo "Inserite un CDR vergine."<br />

echo "Quando siete pronti premete INVIO. "<br />

read pronto # Attende l’input,<br />

#+ $pronto non va bene.<br />

echo "Copia <strong>di</strong> $FO sul CDR."<br />

cdrecord -v -isosize speed=$VELOC dev=$DISPOSITIVO $FO<br />

# Viene usato il programma "cdrecord" <strong>di</strong> Joerg Schilling (ve<strong>di</strong> documentazione).<br />

# http://www.fokus.gmd.de/nthp/employees/schilling/cdrecord.html<br />

echo; echo "Eseguita copia <strong>di</strong> $FO sul CDR del <strong>di</strong>spositivo $CDROM."<br />

echo "Volete cancellare il file immagine (s/n)? " # Probabilmente un file <strong>di</strong><br />

#+ <strong>di</strong>mensioni notevoli.<br />

read risposta<br />

case "$risposta" in<br />

[sS]) rm -f $FO<br />

echo "$FO cancellato."<br />

;;<br />

*) echo "$FO non cancellato.";;<br />

esac<br />

echo<br />

615

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!