I define several variables like below:
TEMP1=1 TEMP2=1 TEMP3=1
And then I want to use them in a for loop
like this, but failed. How to make it work? To use the variable with a sequence number.
for i in 0 1 2 3 do if [[ $(TEMP{i}) -eq 1 ]]; then do something
Advertisement
Answer
I think you probably need a bash
array:
#!/bin/bash temp=(1 4 9 16) for i in {0..3}; do echo ${temp[i]} done
Sample Output
1 4 9 16
You should probably avoid uppercase variable names too as they are reserved.
If that is a bit too far from your comfort zone, this may be nearer to your way of thinking but it uses the same underlying technology of bash
arrays:
TEMP[0]=1 TEMP[1]=4 TEMP[2]=9 echo ${TEMP[2]} # echoes "9"