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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capitolo 13. Coman<strong>di</strong> <strong>di</strong> sistema e d’amministrazione<br />

nc -z -w $TIMEOUT0 "$1" $IDPORTA ||\<br />

{ echo "Oops, $1 non ha in esecuzione identd." ; exit 0 ; }<br />

# -z effettua una scansione dei demoni in ascolto.<br />

# -w $TIMEOUT = Durata del tentativo <strong>di</strong> connessione.<br />

# Genera un numero casuale per la porta <strong>di</strong> partenza.<br />

PC=‘expr $$ % $CAUS1 + $CAUS2‘<br />

BERS="$1"<br />

shift<br />

while test "$1" ; do<br />

nc -v -w $TIMEOUT1 -p ${PC} "$BERS" ${1} < /dev/null > /dev/null &<br />

PROC=$!<br />

sleep $TRE_PAUSE<br />

echo "${1},${PC}" | nc -w $TIMEOUT2 -r "$BERS" $IDPORTA 2>&1<br />

sleep $DUE_PAUSE<br />

# Assomiglia a uno scrip per lamer o cos’altro . . . ?<br />

# Commento dell’autore de <strong>Guida</strong> ASB: "Non è poi così male,<br />

#+ a <strong>di</strong>re il vero, anzi, è piuttosto<br />

#+ intelligente."<br />

kill -HUP $PROC<br />

PC=‘expr ${PC} + 1‘<br />

shift<br />

done<br />

exit $?<br />

# Note:<br />

# ----<br />

# Provate ad eseguire lo script dopo aver commentato la riga 33<br />

#+ fornedo come argomenti "localhost.localdomain 25".<br />

# Per ultedriori script d’esempio <strong>di</strong> Hobbit su ’nc’,<br />

#+ date uno sguardo alla documentazione nella <strong>di</strong>rectory:<br />

#+ /usr/share/doc/nc-X.XX/scripts.<br />

Naturalmente, è presente nel ben noto script <strong>di</strong> una sola riga del Dr. Andrew Tridgell in BitKeeper<br />

Affair:<br />

echo clone | nc thunk.org 5000 > e2fsprogs.dat<br />

356

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

Saved successfully!

Ooh no, something went wrong!