Como implemento ctrl+ cmanipulação nos scripts bash para que o script seja interrompido, bem como o comando atualmente em execução iniciado pelo script?
(Imagine que existe um script que executa algum comando de longa execução. O usuário pressiona ctrl+ ce interrompe o comando, mas o script prossegue.) Eu preciso que ele se comporte da maneira que eles são mortos.
bash
shell-scripting
Kolypto
fonte
fonte
bg
, matá-lo ou em primeiro planofg
. Veja a seção da página de manual do bashJOB CONTROL
.Respostas:
Você faz isso criando uma sub-rotina que deseja chamar quando o SIGINT é recebido e precisa executar
trap 'subroutinename' INT
.Exemplo:
fonte
EXIT
nos casos em que você tem algo que deseja executar sempre que o script sair, independentemente de como ele foi interrompido. (KILL
Com exceção, é claro.)