Et hop, encore une, un peu plus délicate à résumer en 5/6 lignes celle-ci :

Si votre script comporte quelques processus sensibles, vous risquez de l'être aussi quant à une interruption brutale de votre script par un CTRL-C. Pour éviter cette situation, on peut traquer le signal d'interruption et rediriger vers une fonction de sortie propre si le signal est détecté. C'est une des vocations de la fonction trap. Cette fonction de sortie pourrait par ex supprimer les fichiers temporaires que vous avez pu créé, arrêter des processus lancés par votre script, et enfin chercher à arrêter proprement votre script

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
trap 'clean_exit' SIGINT
 
function clean_exit(){
	kill -15 $$ &
	wait $!
	# Si ça marche pas, soyons plus brutaux
	kill -9 $$
 
}
# Une boucle infinie
((count=0)
while :
do
   echo "$count: bah j'attends, comme Charles"
   sleep 3
   ((count++)
done