Quando você "sai", sai e a última linha do seu script não é acessada.
Primeira solução: mova a última linha abaixo do "echo Existem arquivos de resultados temporários. Analise os resultados." como é o lugar onde o arquivo existe e é analisado ...
Mas se você quer apagar esse arquivo em todos os casos e não tem um problam com o rm sendo feito em cada saída (ie, seja qual for a causa para sair do programa), em vez de sua última linha, defina (próximo ao início do roteiro!) uma função que é chamada quando o programa sai (usando "trap thefonction EXIT": significando: chame "thefonction" quando você EXITAR (ou o programa recebeu ctrl + c)) .
function onexit {
# Your cleanup code here
rm -f $HOSTADDRESS.op5.vpn.results
}
trap onexit EXIT
Mas você precisa ter certeza de definir a armadilha no momento certo (e que HOSTADDRESS é definido quando você faz isso!)
Note que se você "matar -9" o programa, ele não terá tempo de usar a armadilha (kill -9 só deve ser usado quando o kill normal não funcionar, já que ele não permite o programa a qualquer momento para usar a limpeza, etc ...)