[profiles/base] change check_ip script

This commit is contained in:
2026-02-21 06:03:17 +01:00
parent 3eaf30494f
commit 39a92b7a6f

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/bin/bash
readonly SCRIPT_NAME=${0##*/} SCRIPT_NAME="${0##*/}"
readonly SCRIPT_NAME
check_deps() { check_deps() {
command -v curl >/dev/null 2>&1 || die "curl: command not found" command -v curl >/dev/null 2>&1 || die "curl: command not found"
@@ -22,34 +23,40 @@ EOF
} }
shell_quote() { shell_quote() {
local -r string=$1 local -r string="$1"
printf "'%s'" "${string//'/'\\''}" printf "'%s'" "${string//'/'\\''/}"
} }
die() { die() {
local -r message=$1 local -r message="$1"
printf "%s: %b\n" "${SCRIPT_NAME}" "${message}" >&2 printf "%s: %b\n" "${SCRIPT_NAME}" "${message}" >&2
exit 1 exit 1
} }
invalid_option() { invalid_option() {
local -r option=$1 local -r option="$1"
die "invalid option $(shell_quote "${option}")\nTry '${SCRIPT_NAME} --help' for usage." die "invalid option $(shell_quote "${option}")
Try '${SCRIPT_NAME} --help' for usage."
} }
parse_args() { parse_args() {
family="auto" family="auto"
while (( $# > 0 )); do while (($# > 0)); do
case "$1" in case "$1" in
-h|--help) usage; exit 0 ;; -h | --help)
usage
exit 0
;;
--family) --family)
( (( $# < 2 )) || [[ -z "$2" ]] ) && die "--family requires an argument (auto, 4 or 6)" ( (($# < 2)) || [[ -z "$2" ]]) &&
family=$2 die "--family requires an argument (auto, 4 or 6)"
family="$2"
shift 2 shift 2
;; ;;
--family=*) --family=*)
family=${1#*=} family="${1#*=}"
[[ -z "${family}" ]] && die "--family requires an argument (auto, 4 or 6)" [[ -z "${family}" ]] &&
die "--family requires an argument (auto, 4 or 6)"
shift shift
;; ;;
*) invalid_option "$1" ;; *) invalid_option "$1" ;;
@@ -59,9 +66,9 @@ parse_args() {
} }
validate_args() { validate_args() {
case ${family} in case "${family}" in
auto|4|6) ;; auto | 4 | 6) ;;
*) die "invalid value for family: '${family}' (expected auto, 4 or 6)" *) die "invalid value for family: '${family}' (expected auto, 4 or 6)" ;;
esac esac
} }