# vim:ft=sh:noexpandtab # Functions for cleanups EXIT_CODE=0 do_cleanup() { echo "$CLEANUP_ACTIONS" | while read CMD; do eval "$CMD" done exit $EXIT_CODE } trap do_cleanup EXIT INT QUIT TERM ABRT cleaner_add() { CLEANUP_ACTIONS="$CLEANUP_ACTIONS $@" } cleaner_rm() { # TODO this might be problematic with special characters CLEANUP_ACTIONS="$(echo "$CLEANUP_ACTIONS" | sed "/^$@$/d")" }