Evaluating a variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Evaluating a variable
# 1  
Old 10-03-2010
Evaluating a variable

Does anyone know of a way to force a variable name held in another variable to return the value of the first variable? Best if I give an example, that does not work:
Code:
/usr/local/bin >cat mike.sh
NUM1ref=16
NUM2ref=32
echo "=============="
for VAR in NUM1 NUM2
do
  XXXX=${VAR}ref
  echo $XXXX
  echo "=============="
done
/usr/local/bin >./mike.sh 
==============
NUM1ref
==============
NUM2ref
==============
/usr/local/bin >

I want this to echo the value held in NUM1ref (16), rather than the string "NUM1ref", so the variable XXXX has to be evaluated twice.

I hope that makes sense!

Last edited by Franklin52; 10-03-2010 at 10:33 AM.. Reason: Please indent your code and use code tags
# 2  
Old 10-03-2010
# 3  
Old 10-03-2010
If you haven't got bash.

Code:
NUM1ref=16
NUM2ref=32
echo "=============="
for VAR in NUM1 NUM2
do
  eval echo \$${VAR}ref
  echo "=============="
done

==============
16
==============
32
==============

This User Gave Thanks to methyl For This Post:
# 4  
Old 10-04-2010
Thanks Methyl, that does it.
Out of interest, if I have got a bash shell ...?

Regards, Mike
# 5  
Old 10-04-2010
(See the link in bartus11 post - it shows the special syntax for bash).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Parsing file, reading each line to variable, evaluating date/time stamp of each line

So, the beginning of my script will cat & grep a file with the output directed to a new file. The data I have in this file needs to be parsed, read and evaluated. Basically, I need to identify the latest date/time stamp and then calculate whether or not it is within 15 minutes of the current... (1 Reply)
Discussion started by: hynesward
1 Replies

2. Shell Programming and Scripting

evaluating a variable inside a variable

Hi there, i think im getting myself a little confused and need some help :wall: I am reading in a bunch of variables to my script from an external file and need to validate that a value has been set for each so if you can imagine, the user is required to pass in 4 values... (3 Replies)
Discussion started by: rethink
3 Replies

3. Shell Programming and Scripting

$$# is evaluating to 1 when no value

I have the following in my makefile: RESULT=`../${TOOLS_ROOT_PATH}/ext_tools.sh 11`; \ set $$RESULT > tMp; \ rm tMp; \ if ; then \ echo copying external-local tool: $< \($$*\); \ mkdir -p ${EXTERNAL_LOCAL_BIN_DIR}/$<; \ cp -f... (4 Replies)
Discussion started by: jake_ryan
4 Replies

4. Shell Programming and Scripting

K Shell evaluating value to a variable

Hi, I have the following requirement. V="First" R="V" echo $$R The output should be First. How do i achieve this. how do we evaluate the $R and evaluate it to $V as $R contains V and $V is First. Thanks Vijay (2 Replies)
Discussion started by: vijaykrc
2 Replies

5. Shell Programming and Scripting

Bash: evaluating $? variable (if statement)

Hello, i'm unable to write a correct if... statement to evaluate the $? variable. Could anybody send to me an example? for example, this lines of code didn't work... if ; then etc etc if ; then etc etc Thank you in advanced. (5 Replies)
Discussion started by: aristegui
5 Replies

6. UNIX for Dummies Questions & Answers

evaluating date +%m

how do i evaluate the value of date if ( $(date +%m) > 8 ) then FY_STAMP=FY$(echo $(($(date +%Y) + 1)) | cut -c3-4) else FY_STAMP=FY$(date +%y) fi i want this to make the FY_STAMP increment by 1 if the month is september and up. but cant seem to make it work (3 Replies)
Discussion started by: rsf01
3 Replies

7. Shell Programming and Scripting

* character evaluating too soon - Help!

I have a user defined configuration file, which could contain the following type of entries: directory_001=/a/directory/structure pattern_001=fred* pattern_002=* I have a script which reads the file generically which will loop round loop 1 genvar=”directory” iteration=”001” ... (11 Replies)
Discussion started by: Bab00shka
11 Replies

8. UNIX for Dummies Questions & Answers

evaluating params

Hi all, I ve a script like.... TBL=employee sql=`cat abhi.sql` \\ abhi.sql contains ------- select a from $TBL echo $TBL echo $sql SQL=`echo $sql` echo $SQL now i want SQL as select a from employee and as select a from $TBL How can I achieve this? Help appriciated (3 Replies)
Discussion started by: abzi
3 Replies

9. UNIX for Dummies Questions & Answers

evaluating variables

Hi I have a script in which I have several variables var1 var2 var3 var4 etc...... and field1 field2 field3 field4 etc....... The script similar to this: (6 Replies)
Discussion started by: Bab00shka
6 Replies

10. UNIX for Dummies Questions & Answers

evaluating for a number

I apologize for the simple question but can someone please help me with how to evaluate a number? I will be reading in a file and if a number is >= 100000000, I will do something, if not, I will exit the if statement. Thanks in advance (1 Reply)
Discussion started by: hedrict
1 Replies
Login or Register to Ask a Question