Tenho algum hardware que estou testando com um script bash.
#!/bin/bash
tshwctl --setdio=65
for i in $(seq 0 1000)
do
./adc1
sleep 1
done
tshwctl --clrdio=65
Se eu pressionar Ctrl+C antes de terminar o loop, o pino 65 não será desarmado. (Posso desativá-lo mais tarde, com certeza) existe uma maneira de executar um processo após pressionar Ctrl+C
? como em: existe uma maneira de o script ser executado tshwctl --clsdio=65
antes de sair do script quando ctrl + C é pressionado?
Responder1
Você pode usar depois do shebang #!/bin/bash
:
trap 'tshwctl --clsdio=65 &>/dev/null' 1 2 3 15
ou você pode remover --clsdio
do script inferior e usar:
trap 'tshwctl --clsdio=65 &>/dev/null' EXIT
para executar o comando em todos EXIT
os casos de uso