/ / Idle bash script até que o evento CTRL + c seja registrado - linux, bash, sleep, ctrl

Script bash inativo até que o evento CTRL + c seja registrado - linux, bash, sleep, ctrl

Eu tenho um script bash que faz algum trabalho, o que é feito bastante rápido. Ele deve então ficar ocioso até que o usuário decida terminá-lo, seguido por algum código de limpeza.

É por isso que eu prendo o CTRL+c evento com o seguinte código:

control_c()
{
cleanup
exit 0
}

trap control_c SIGINT

Mas como meu script é feito rapidamente eu nunca termino propositalmente, então nunca chega a interceptar o CTRL + c e execute o código de limpeza.

Eu percebi que eu poderia implementar um interminável do while loop, com sleep no final do script, mas eu suponho que há uma solução melhor.

Como posso ocioso um script no bash, esperando o CTRL+c evento?

Respostas:

2 para resposta № 1

Assumindo que você está conectado a um TTY:

# idle waiting for abort from user
read -r -d "" _ </dev/tty