Bash Introducción: limpiar archivos temporales


Ejemplo

Puedes usar el comando de trap para "atrapar" las señales; este es el equivalente de shell de la signal() o sigaction() llamada en C y la mayoría de los otros lenguajes de programación para capturar señales.

Uno de los usos más comunes de la trap es limpiar archivos temporales tanto en una salida esperada como inesperada.

Desafortunadamente no hay suficientes scripts de shell hacer esto :-(

#!/bin/sh

# Make a cleanup function
cleanup() {
  rm --force -- "${tmp}"
}

# Trap the special "EXIT" group, which is always run when the shell exits.
trap cleanup EXIT

# Create a temporary file
tmp="$(mktemp -p /tmp tmpfileXXXXXXX)"

echo "Hello, world!" >> "${tmp}"

# No rm -f "$tmp" needed. The advantage of using EXIT is that it still works
# even if there was an error or if you used exit.