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.

exit 0<br />

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

Esempio 13-3. Password segreta: <strong>di</strong>sabilitare la visualizzazione a terminale<br />

#!/bin/bash<br />

# secret-pw.sh: password segreta<br />

echo<br />

echo -n "Immetti la password "<br />

read passwd<br />

echo "La password è $passwd"<br />

echo -n "Se qualcuno stesse sbirciando da <strong>di</strong>etro le vostre spalle,"<br />

echo "la password sarebbe compromessa."<br />

echo && echo # Due righe vuote con una "lista and".<br />

stty -echo # Disabilita la visualizzazione sullo schermo.<br />

echo -n "Reimmetti la password "<br />

read passwd<br />

echo<br />

echo "La password è $passwd"<br />

echo<br />

stty echo # Ripristina la visualizzazione sullo schermo.<br />

exit 0<br />

# Effettuate un ’info stty’ per maggiori informazioni su questo utile,<br />

#+ ma complesso, comando.<br />

Un uso creativo <strong>di</strong> stty è quello <strong>di</strong> rilevare i tasti premuti dall’utente (senza dover premere<br />

successivamente INVIO).<br />

Esempio 13-4. Rilevamento dei tasti premuti<br />

#!/bin/bash<br />

# keypress.sh: Rileva i tasti premuti dall’utente ("tasti bollenti").<br />

echo<br />

precedenti_impostazioni_tty=$(stty -g) # Salva le precedenti impostazioni<br />

# (perché?).<br />

stty -icanon<br />

tasti=$(head -c1) # Oppure $(dd bs=1 count=1 2> /dev/null)<br />

#+ su sistemi non-GNU<br />

echo<br />

echo "Hai premuto i tasti \""$tasti"\"."<br />

echo<br />

348

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

Saved successfully!

Ooh no, something went wrong!