From 0b1c99ffb1c3019e8afb9dcc542fbc5e868baef1 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 16 Aug 2016 18:38:49 +1200 Subject: Template traps in scripts depending on mktd(1) --- include/mktd.trap.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 include/mktd.trap.sh (limited to 'include') diff --git a/include/mktd.trap.sh b/include/mktd.trap.sh new file mode 100644 index 00000000..388eb9be --- /dev/null +++ b/include/mktd.trap.sh @@ -0,0 +1,15 @@ +# Create a temporary directory with name in $td, and handle POSIX-ish traps to +# remove it when the script exits. +td= +cleanup() { + [ -n "$td" ] && rm -fr -- "$td" + if [ "$1" != EXIT ] ; then + trap - "$1" + kill "-$1" "$$" + fi +} +for sig in EXIT HUP INT TERM ; do + # shellcheck disable=SC2064 + trap "cleanup $sig" "$sig" +done +td=$(mktd "$self") || exit -- cgit v1.2.3