Skip to main content
1 of 4
Stéphane Chazelas
  • 584.9k
  • 96
  • 1.1k
  • 1.7k

To check if a variable is set, see How do I check if a variable exists in an 'if' statement?

Now, to loop over the variables whose name matches a pattern, in zsh, you could do:

for varname in ${(Mk)parameters:#Var<->Value}; do
  something with "$varname" and its value: "${(P)varname}"
done

With bash:

readarray -t list < <(compgen -v | grep -xE 'Var[[:digit:]]+Value')
for varname in "${list[@]}"; do
  something with "$varname" and its value: "${!varname}"
done
Stéphane Chazelas
  • 584.9k
  • 96
  • 1.1k
  • 1.7k