Você pode usar o mecanismo trap
dentro de seu MyProg
para limpar depois que o programa estiver saindo.
trap "rm MyProg" EXIT
Se o MyProg não for um script bash, você pode incluir seu programa em um script bash.
Estou tentando executar um programa que faz um loop indefinidamente e, portanto, deve ser interrompido à força. Depois de executar o programa, quero apagá-lo. Eu posso fazer isso em várias etapas:
./MyProg
rm MyProg
mas preciso fazer isso com frequência, por isso gostaria de ter as etapas 1 e 3 em uma única linha para facilitar a recuperação da história.
Eu tentei o seguinte, mas em cada caso a interrupção Controle + C mata a linha inteira, não apenas o programa em execução, e então o arquivo nunca é apagado :
./MyProg && rm MyProg
./MyProg; rm MyProg
./MyProg || rm MyProg
Como posso fazer com que a interrupção afete apenas o programa em execução e não a linha de comando inteira?
Você pode usar o mecanismo trap
dentro de seu MyProg
para limpar depois que o programa estiver saindo.
trap "rm MyProg" EXIT
Se o MyProg não for um script bash, você pode incluir seu programa em um script bash.
Tags command-line bash kill signals