Script para permitir al usuario cancelar un cierre de sesión de shell

Script para permitir al usuario cancelar un cierre de sesión de shell

Quiero escribir un script para mostrar un mensaje y posiblemente cancelar un cierre de sesión desde un shell interactivo. Esto se debe a que a menudo ejecuto trabajos en segundo plano en algunos de mis shells y, de improviso, cierro sesión en todos, cerrando los trabajos en ejecución. Lo que busco es un script como:

# If there are running jobs
if [ -z "$(jobs)" ]; then
    # Display messages, give choices, etc.
    ...code...
    # And finally, given some conditions (e.g. answers to questions, etc.)
    cancel_logout
else
    logout

Presumiblemente, lo anterior entraría en ~/.bash_logout.

Respuesta1

La forma correcta de hacer esto es hacer que bash realice la verificación por sí mismo.

shopt -s checkjobs

Esto hará que bash muestre un aviso si queda algún trabajo ejecutándose. Si hay trabajos en ejecución, debe intentar salir dos veces para salir realmente.

información relacionada