diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/assert-arg | 30 |
1 files changed, 30 insertions, 0 deletions
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 |