Trap Cleanup On Exit And Signal

Register a trap handler to clean up temporary resources on exit, interrupt, and termination signals.

BashResilience

Code

snippet
#!/usr/bin/env bash
set -euo pipefail

TMPDIR=$(mktemp -d)

cleanup() {
  echo "Cleaning up ${TMPDIR}"
  rm -rf "${TMPDIR}"
}

trap cleanup EXIT INT TERM

echo "Working in ${TMPDIR}"
touch "${TMPDIR}/data.txt"
sleep 2
echo "Done"