Souvent, vous voudrez que votre script réagisse en réponse à un signal.
Une liste des signaux se trouve à à la section 10.6.
Pour capter un signal, il faut créer une fonction et, ensuite, utiliser
la commande trap afin d'associer la fonction
au signal.
#!/bin/sh
function on_hangup () { echo 'Hangup (SIGHUP) signal received'
}
|
trap on_hangup SIGHUP
while true ; do sleep 1 done exit 0 |
Une autre fonction importante pour un programme consiste à effectuer
un nettoyage après la terminaison. Le signal spécial EXIT
(qui n'est pas stricto sensu un signal) exécute le code suivant
à la terminaison d'un script:
#!/bin/sh
function on_exit () { echo 'Je vais effacer les fichiers temporaires à présent'
}
|
Si, au lieu du nom d'une fonction, le symbole - est passé, le signal devient ``unbounded'' (c'est-à-dire qu'on lui attribue sa valeur par défaut).