Algo está errado com a seguinte armadilha?
trap cleanup SIGINT
cleanup() {
echo "Exiting script ..."
}
Eu nunca vejo o echo
comando ao baterCtrl+c
O trecho está na parte inferior de um script maior com alguns while
loops infinitos.
$ bash --version
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
A armadilha deve ter sido ativada/instalada no momento em que você pressiona Ctrl+C, ou (obviamente) não será acionada. A função também deveria ter sido definida nesse ponto. Isso significa mover o código para o topo (em algum lugar no começo) do seu script.
Além disso, você provavelmente deve definir a função antes de instalar a armadilha, ou receberá um erro "não encontrado" se a armadilha for acionada entre as duas.
Exemplo: