#!/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