#!/usr/bin/env bash SCRIPT_PATH=$(realpath -s "${0}") SCRIPT_DIR=$(dirname "$SCRIPT_PATH") SCRIPT=$(basename "$SCRIPT_PATH") usage() { cat <&2 exit 1 fi config_file=$1 shift ;; -h|--help) usage ;; -*) echo "$SCRIPT: invalid option -- '$opt'" >&2 exit 1 ;; *) cmd=$opt break ;; esac done cmd=${cmd,,:-help} source "$config_file" || exit 2 LIB_DIR=${LIB_DIR:-$SCRIPT_DIR/lib} source "$LIB_DIR"/dns.sh || exit 3 source "$LIB_DIR"/output.sh || exit 3 params="--interactive" if [ "$cmd" == "help" ]; then params="--help" cmd=${1,,} shift fi case "$cmd" in add|delete|list) "$SCRIPT_DIR"/dns-zone-$cmd $params "$@" ;; "") usage ;; *) echo "$SCRIPT: invalid command -- '$cmd'" >&2 exit 5 ;; esac