#!/bin/sh # # Generally, utilities that I expected to exist in POSIX, but don't. # uuid() { # Taken from: # https://serverfault.com/a/799198 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)" rm -f "$name" mkdir "$name" echo "$name" }