Incrementing Variable Names


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Incrementing Variable Names
# 1  
Old 08-09-2010
Incrementing Variable Names

Hi,

I am using BASH. I have encountered a situation where the following is necessary (but I am not sure how to do it):

Code:
#Define multiple arrays, whose names only differ by a number:
ARRAY_1=(1 2 3)
ARRAY_2=(4 5 6)
ARRAY_3=(7 8 9)

#Define ARRAY_AMOUNT, the number of arrays. In this case ARRAY_AMOUNT is 3:
ARRAY_AMOUNT=3

#Go through a FOR loop a number of times equal to ARRAY_AMOUNT, with the variable "A" being the place setter:
for (( A=1; A=$REGION_AMOUNT; A++ )); do
        
#Set GOOD_ARRAY equal to 'ARRAY_'${A}; ie when A=1 then GOOD_ARRAY will equal ARRAY_1 which is an array containing the values 1 2 3. THIS IS WHAT I DON'T KNOW HOW TO DO:

#DOESN'T WORK:
GOOD_ARRAY='ARRAY_'${A}

echo ${GOOD_ARRAY[@]}
        
endfor

Any help is much appreciated. Thanks!

Mike
# 2  
Old 08-09-2010
Code:
#Define multiple arrays, whose names only differ by a number:
ARRAY_1=(1 2 3)
ARRAY_2=(4 5 6)
ARRAY_3=(7 8 9)

#Define ARRAY_AMOUNT, the number of arrays. In this case ARRAY_AMOUNT is 3:
ARRAY_AMOUNT=3

#Go through a FOR loop a number of times equal to ARRAY_AMOUNT, with the variable "A" being the place setter:
for (( A=1; A<=$ARRAY_AMOUNT; A++ )); do

#Set GOOD_ARRAY equal to 'ARRAY_'${A}; ie when A=1 then GOOD_ARRAY will equal ARRAY_1 which is an array containing the values 1 2 3. THIS IS WHAT I DON'T KNOW HOW TO DO:

#DOES WORK:
GOOD_ARRAY=($(eval echo \${ARRAY_$A[@]}))

echo ${GOOD_ARRAY[@]}

done

Hi.

The bits I changed are in red.

Output:
Code:
1 2 3
4 5 6
7 8 9

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing specific and incrementing lines of text from file via variable

This is part of a larger script where I need to pass only 1 line of a file to the script, based on a variable and not a direct reference. As part of a for loop : # for((line=0;line<50;line++)); do # awk ‘NR==$line' PhraseList.txt; done ... (5 Replies)
Discussion started by: Seth
5 Replies

2. Shell Programming and Scripting

[SHELL: /bin/sh] For loop using variable variable names

Simple enough problem I think, I just can't seem to get it right. The below doesn't work as intended, it's just a function defined in a much larger script: CheckValues() { for field in \ Group_ID \ Group_Title \ Rule_ID \ Rule_Severity \ ... (2 Replies)
Discussion started by: Vryali
2 Replies

3. Shell Programming and Scripting

incrementing the variable name along with the data?

Hello folks. I am trying to increment my variable names to match a counter that is to be used later on... Basically, i have a for loop that lists directories (for example TEST_OS DVP_OS PROD_OS ) but this loop is not static, it may contain 3 directory once and the next run 5 directories. I... (6 Replies)
Discussion started by: Stephan
6 Replies

4. UNIX for Dummies Questions & Answers

Incrementing variable in for

Hi, want to increment a variable in a for loop like this: for (( c=$total-1; c>=0; c-- )) do if ; then maximo=$valores fi done But it gives the error: No such file or directory How can i do this only incrementing the c variable? Thanks (8 Replies)
Discussion started by: limadario
8 Replies

5. Shell Programming and Scripting

Facing problem in incrementing the variable

When I did, echo $SHELL in cmd prompt of putty, its displaying /bin/sh And in my shell script., I hav started with., #!/bin/sh and i=1; while ; do . . . i=$; (9 Replies)
Discussion started by: av_vinay
9 Replies

6. Homework & Coursework Questions

Incrementing Variable resets outside of while loop

1. The problem statement, all variables and given/known data: Variable is resetting to 0 after incrementing in while loop My bit of scripting displays the current users logged in the machine. Then it reads in a specific username and displays the processes for that user. The portion that I... (3 Replies)
Discussion started by: ratzlaff
3 Replies

7. Shell Programming and Scripting

Incrementing a variable is not happening

Hi All, Iam trying to increment a variable Following is the code #!/usr/bin/ksh i=1; i='expr $i+1'; echo $i; Output: expr $i+1 not able to understand why its happening in that way i was expecting result as 2... if the above method is worng .. can you help how i can get... (3 Replies)
Discussion started by: kiranlalka
3 Replies

8. Linux

Incrementing the date stored in the variable

Hi all, I have a variable with date as 20080831 . Now I want to increment it as 20080901 and so on.Is there any command for this. Please help me. thanks rameez (1 Reply)
Discussion started by: rameezrajas
1 Replies

9. UNIX for Dummies Questions & Answers

Variable names

Hi, I have a variable v_iteration which can equal any 3 digit number eg 001 or 926 I would like to dynamically make a new variable name up using this 3 digit number eg v_another_variable_001=fred v_another_variable_926=joe The following are examples of what I have tried ... (2 Replies)
Discussion started by: Bab00shka
2 Replies

10. Shell Programming and Scripting

Variable names

Hi I have several variables called var1, var2, var3, var4 and so on. I would like to examine the contents of the variables using a loop and a variable called num which equals a figure eg num=3 I wanted to do something like echo $var$num to display the contents of var3 (4 Replies)
Discussion started by: Bab00shka
4 Replies
Login or Register to Ask a Question