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 # Lo script termina qui.<br />

# Quin<strong>di</strong>, è corretto mettere<br />

#+ dati e commenti senza il # oltre questo punto.<br />

Capitolo 33. Miscellanea<br />

# -------------------------------------------------------------------------<br />

# Un estratto del file dati "phonebook":<br />

John Doe 1555 Main St., Baltimore, MD 21228 (410) 222-3333<br />

Mary Moe 9899 Jones Blvd., Warren, NH 03787 (603) 898-3232<br />

Richard Roe 856 E. 7th St., New York, NY 10009 (212) 333-4567<br />

Sam Roe 956 E. 8th St., New York, NY 10009 (212) 444-5678<br />

Zoe Zenobia 4481 N. Baker St., San Francisco, SF 94338 (415) 501-1631<br />

# -------------------------------------------------------------------------<br />

$bash pb.sh Roe<br />

Richard Roe 856 E. 7th St., New York, NY 10009 (212) 333-4567<br />

Sam Roe 956 E. 8th St., New York, NY 10009 (212) 444-5678<br />

$bash pb.sh Roe Sam<br />

Sam Roe 956 E. 8th St., New York, NY 10009 (212) 444-5678<br />

# Quando vengono passati più argomenti allo script,<br />

#+ viene visualizzata *solo* la/e riga/he contenente tutti gli argomenti.<br />

Esempio 33-10. Un altro (utile) script che richiama sé stesso ricorsivamente<br />

#!/bin/bash<br />

# usrmnt.sh, scritto da Anthony Richardson<br />

# Utilizzato con il permesso dell’autore.<br />

# utilizzo: usrmnt.sh<br />

# descrizione: monta un <strong>di</strong>spositivo, l’utente cho lo invoca deve essere elencato<br />

# nel gruppo MNTUSERS nel file /etc/sudoers.<br />

# --------------------------------------------------------------------<br />

# Si tratta dello script usermount che riesegue se stesso usando sudo.<br />

# Un utente con i permessi appropriati deve <strong>di</strong>gitare semplicemente<br />

# usermount /dev/fd0 /mnt/floppy<br />

# invece <strong>di</strong><br />

# sudo usermount /dev/fd0 /mnt/floppy<br />

# Utilizzo questa tecnica per tutti gli<br />

#+ script sudo perché la trovo conveniente.<br />

# --------------------------------------------------------------------<br />

# Se la variabile SUDO_COMMAND non è impostata, significa che non lo si<br />

#+ sta eseguendo attraverso sudo, che quin<strong>di</strong> va richiamato. Vengono passati<br />

#+ i veri id utente e <strong>di</strong> gruppo . . .<br />

554

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

Saved successfully!

Ooh no, something went wrong!