Il comando trap
in Bash viene utilizzato per gestire i segnali e le uscite di uno script. Permette di eseguire comandi specifici quando il processo riceve determinati segnali o quando si verifica un’uscita. Questo è utile per pulire risorse o eseguire operazioni di chiusura prima che lo script termini.
La sintassi di base del comando è la seguente:
trap [opzioni] [comando] [segnale]
-l
: Elenca tutti i segnali disponibili.-p
: Mostra le attuali impostazioni di trap.[segnale]
: Può essere un numero o un nome di segnale (es. SIGINT
, SIGTERM
).trap 'echo "Segnale ricevuto!"' SIGINT
In questo esempio, quando si preme Ctrl+C
, verrà stampato “Segnale ricevuto!”.
trap 'rm -f /tmp/tempfile' EXIT
Questo comando rimuove un file temporaneo quando lo script termina.
trap 'echo "Interrotto!"' SIGINT SIGTERM
Qui, il messaggio “Interrotto!” verrà visualizzato sia per SIGINT
che per SIGTERM
.
trap 'echo "Uscita..."; exit' SIGINT
Questo comando stampa “Uscita…” e poi termina lo script quando viene ricevuto SIGINT
.
trap
all’inizio del tuo script per garantire che i segnali vengano gestiti correttamente.trap
può anche essere utilizzato per gestire errori e pulire risorse, migliorando la robustezza del tuo script.