Se você está abrindo apenas um arquivo, não precisa realmente usar um script, porque um script é uma maneira fácil de executar vários comandos em sequência, enquanto aqui você só precisa executar dois comandos (incluindo exit ).
Se você deseja executar exit após um comando ou depois de uma cadeia de comandos, você pode encadear com o que você já tem usando o operador && (que no sucesso do comando / cadeia de comandos anterior execute o próximo comando) ou usando o operador ; (que tanto no sucesso quanto na falha do comando / cadeia de comandos anterior executará o próximo comando).
Nesse caso, seria algo assim:
gnome-open <path_to_pdf_file> && exit
* < caminho_para_pfd_file > = caminho do arquivo pdf
exit colocado no final de um script não funciona porque ele apenas sai da instância bash na qual o script é executado, que é outra instância bash do que a instância interna bash do Terminal. / p>
Se você quiser usar um script de qualquer maneira, a maneira mais direta é simplesmente chamar o script assim:
<path_to_script> && exit
Ou se o script estiver no diretório de trabalho atual do Terminal da seguinte forma:
./<script> && exit
Se você realmente não quiser / não puder fazer isso, a segunda maneira mais direta é adicionar essa linha ao final do script:
kill -9 $PPID
Isso enviará um sinal SIGKILL para o processo pai do script (a instância bash vinculada ao Terminal). Se apenas uma instância de bash estiver vinculada ao Terminal, a interrupção será interrompida pelo Terminal. Se várias instâncias bash estiverem vinculadas ao Terminal, a interrupção não fará com que o Terminal se feche.