fix evaluation script
This commit is contained in:
@@ -210,4 +210,46 @@ parse_rules() {
|
||||
while IFS= read -r line; do
|
||||
line="$(trim "${line:-}")"
|
||||
|
||||
[[ -z "$line" ]] && continue
|
||||
[[ -z "$line" ]] && continue
|
||||
[[ "$line" =~ ^# ]] && continue
|
||||
|
||||
case "$line" in
|
||||
if:)
|
||||
finalize_rule "$current_conditions" "$current_variables"
|
||||
|
||||
current_conditions=""
|
||||
current_variables=""
|
||||
mode="conditions"
|
||||
;;
|
||||
|
||||
set:)
|
||||
mode="variables"
|
||||
;;
|
||||
|
||||
*)
|
||||
case "$mode" in
|
||||
conditions)
|
||||
if [[ -n "$current_conditions" ]]; then
|
||||
current_conditions+=$'\n'
|
||||
fi
|
||||
current_conditions+="$line"
|
||||
;;
|
||||
|
||||
variables)
|
||||
if [[ -n "$current_variables" ]]; then
|
||||
current_variables+=$'\n'
|
||||
fi
|
||||
current_variables+="$line"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unexpected line outside of if:/set: block: $line"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
done <<< "${RULES:-}"
|
||||
|
||||
finalize_rule "$current_conditions" "$current_variables"
|
||||
}
|
||||
Reference in New Issue
Block a user