What I'm trying to do is loop over environment variables. I have a number of installs that change and each install has 3 IPs to push files to and run scripts on, and I want to automate this as much as possible (so that I only have to modify a file that I'll source with the environment variables). The following is a simplified version that once I figure out I can solve my problem.
So given in my.props:
COUNT=2
A_0=foo
B_0=bar
A_1=fizz
B_1=buzz
I want to fill in the for loop in the following script
#!/bin/bash
. <path>/my.props
for ((i=0; i < COUNT; i++))
do
<script here>
done
So that I can get the values from the environment variables. Like the following(but that actually work):
echo $A_$i $B_$i
or
A=A_$i
B=B_$i
echo $A $B
returns foo bar then fizz buzz
Best Answer
You can iterate
num
and usedeclare
to create the variables and indirection to reference them. But wouldn't you really prefer to use arrays?or
How about this?