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.

Capitolo 23. Funzioni<br />

Come i “veri” linguaggi <strong>di</strong> programmazione, anche <strong>Bash</strong> <strong>di</strong>spone delle funzioni, sebbene in<br />

un’implementazione un po’ limitata. Una funzione è una subroutine, un blocco <strong>di</strong> co<strong>di</strong>ce che rende<br />

<strong>di</strong>sponibile una serie <strong>di</strong> operazioni, una “scatola nera” che esegue un compito specifico. Ogni qual volta<br />

vi è del co<strong>di</strong>ce che si ripete o quando un compito viene iterato con leggere variazioni, allora è il<br />

momento <strong>di</strong> prendere in considerazione l’impiego <strong>di</strong> una funzione.<br />

function nome_funzione {<br />

comando...<br />

}<br />

oppure<br />

nome_funzione () {<br />

comando...<br />

}<br />

Questa seconda forma è quella che rallegra i cuori dei programmatori C (ed è più portabile).<br />

Come nel C, la parentesi graffa aperta può, opzionalmente, comparire nella riga successiva a quella del<br />

nome della funzione.<br />

nome_funzione ()<br />

{<br />

comando...<br />

}<br />

Le funzioni vengono richiamate, messe in esecuzione, semplicemente invocando i loro nomi.<br />

Esempio 23-1. Semplici funzioni<br />

#!/bin/bash<br />

SOLO_UN_SECONDO=1<br />

strana ()<br />

444

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

Saved successfully!

Ooh no, something went wrong!