#!/bin/sh assert_arg() { if [ -z "$1" ]; then echo "Missing $2" >&2 exit 2 fi } uuid() { od -xN20 /dev/urandom | head -n1 | awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}' } tmpname() { echo "${TMPDIR:-/tmp}/uuid-tmpname with spaces.$(uuid)" } mkstemp() { name="$(tmpname)" touch "$name" echo "$name" } mkdtemp() { name="$(tmpname)" mkdir "$name" echo "$name" }