fix: handle unset keys in associative arrays to prevent set -u errors
This commit is contained in:
parent
6ed0d234d4
commit
707889ef63
@ -68,14 +68,14 @@ validate_command() {
|
|||||||
|
|
||||||
declare -A seen=()
|
declare -A seen=()
|
||||||
for a in "${args[@]}"; do
|
for a in "${args[@]}"; do
|
||||||
[[ -z "${allowed_set[$a]}" ]] && {
|
if [[ -z "${allowed_set[$a]+_}" ]]; then
|
||||||
echo "ERROR: Invalid argument '$a' for '$cmd'; allowed: (${allowed[*]})" >&2
|
echo "ERROR: Invalid argument '$a' for '$cmd'; allowed: (${allowed[*]})" >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
fi
|
||||||
[[ -n "${seen[$a]}" ]] && {
|
if [[ -n "${seen[$a]+_}" ]]; then
|
||||||
echo "ERROR: Duplicate argument '$a' for '$cmd'" >&2
|
echo "ERROR: Duplicate argument '$a' for '$cmd'" >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
fi
|
||||||
seen["$a"]=1
|
seen["$a"]=1
|
||||||
done
|
done
|
||||||
return 0
|
return 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user