diff options
-rw-r--r-- | deps.mk | 1 | ||||
-rwxr-xr-x | src/assert-arg | 30 |
2 files changed, 31 insertions, 0 deletions
@@ -1,4 +1,5 @@ sources.sh = \ + src/assert-arg \ src/now \ src/timestamp \ src/uuid \ diff --git a/src/assert-arg b/src/assert-arg new file mode 100755 index 0000000..8eaaea8 --- /dev/null +++ b/src/assert-arg @@ -0,0 +1,30 @@ +#!/bin/sh +set -eu + +usage() { + cat <<-'EOF' + Usage: + assert-arg [--] STRING MESSAGE + EOF +} + + +if [ "${1:-}" = '--' ]; then + shift +fi + +if [ $# -ne 2 ]; then + usage >&2 + exit 2 +fi + +STRING="$1" +MESSAGE="$2" + +if [ -z "$STRING" ]; then + printf 'Missing %s.\n\n' "$MESSAGE" >&2 + cat <<-'EOF' + usage >&2 + exit 2 + EOF +fi |