summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-05-08 06:39:31 -0300
committerEuAndreh <eu@euandre.org>2024-05-08 08:24:02 -0300
commit6fe3c4bb709da54c1529fc56f5005462990617f2 (patch)
tree83f3056855889b8ff1ccd9de5cb6a743fa2e5c67 /src
parentsrc/uuid: Add working utility (diff)
downloadeut-6fe3c4bb709da54c1529fc56f5005462990617f2.tar.gz
eut-6fe3c4bb709da54c1529fc56f5005462990617f2.tar.xz
src/assert-arg: Add working utility
Diffstat (limited to 'src')
-rwxr-xr-xsrc/assert-arg30
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