fix: handle unset keys in associative arrays to prevent set -u errors

This commit is contained in:
Pallav Vasa 2025-05-17 16:25:19 +00:00
parent 6ed0d234d4
commit 707889ef63

View File

@ -68,14 +68,14 @@ validate_command() {
declare -A seen=()
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
return 1
}
[[ -n "${seen[$a]}" ]] && {
fi
if [[ -n "${seen[$a]+_}" ]]; then
echo "ERROR: Duplicate argument '$a' for '$cmd'" >&2
return 1
}
fi
seen["$a"]=1
done
return 0