ejecutar el comando antes de que salga el script

ejecutar el comando antes de que salga el script

Tengo algo de hardware que estoy probando con un script bash.

#!/bin/bash
tshwctl --setdio=65
for i in $(seq 0 1000)
do
 ./adc1
sleep 1
done
tshwctl --clrdio=65

Si presiono Ctrl+C antes de que finalice el ciclo, el pin 65 no se desarmará. (Puedo desarmarlo más tarde, seguro) ¿hay alguna manera de ejecutar un proceso después de presionar Ctrl+C? como en: ¿hay alguna manera de que el script se ejecute tshwctl --clsdio=65 antes de que salga cuando se presiona Ctrl+C?

Respuesta1

Puedes usar después del shebang #!/bin/bash:

trap 'tshwctl --clsdio=65 &>/dev/null' 1 2 3 15

o puede eliminar --clsdiodel script inferior y usar:

trap 'tshwctl --clsdio=65 &>/dev/null' EXIT

para ejecutar el comando en todos EXITlos casos de uso

http://mywiki.wooledge.org/SignalTrap

información relacionada