assignment to variable from eval command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting assignment to variable from eval command
# 1  
Old 10-28-2010
assignment to variable from eval command

Hi Gurus,

I am having 2 parameters as below

parm1=value1
parm2=parm1

I want to evaluate parm1 value using eval echo \$$parm2 and later i want to assign this value to other variable which i will be using in if statement like :

if [[ $var=='value1 ]]; then
do this.......
fi

could you please suggest some way as I am not able to achieve this.
# 2  
Old 10-28-2010
Try...
Code:
eval var=\$$parm2

# 3  
Old 10-28-2010
Thanks a lot

It worked for me !!

---------- Post updated at 03:07 PM ---------- Previous update was at 02:52 PM ----------

One more thing Ygor,

Its working when I am executing from command line, but same is not working when I am putting it in to a script :

Code:
for prm in RUN_COST_PRICES_COMPARISON RUN_SELLING_PRICE_COMPARISON RUN_RATIO_PACK_COMPARISON
>     do
>     echo $prm
>     eval VAR=\$$prm
>     echo $VAR
> done
RUN_COST_PRICES_COMPARISON
Y
RUN_SELLING_PRICE_COMPARISON
N
RUN_RATIO_PACK_COMPARISON
Y

But when the same thing kept in the script eval command is not working.

Code:
./aa
RUN_COST_PRICES_COMPARISON

RUN_SELLING_PRICE_COMPARISON

RUN_RATIO_PACK_COMPARISON

Could you pleases advice if something needs to be added

---------- Post updated at 03:33 PM ---------- Previous update was at 03:07 PM ----------

Quote:
Originally Posted by k_vikash
Thanks a lot

It worked for me !!

---------- Post updated at 03:07 PM ---------- Previous update was at 02:52 PM ----------

One more thing Ygor,

Its working when I am executing from command line, but same is not working when I am putting it in to a script :

Code:
for prm in RUN_COST_PRICES_COMPARISON RUN_SELLING_PRICE_COMPARISON RUN_RATIO_PACK_COMPARISON
>     do
>     echo $prm
>     eval VAR=\$$prm
>     echo $VAR
> done
RUN_COST_PRICES_COMPARISON
Y
RUN_SELLING_PRICE_COMPARISON
N
RUN_RATIO_PACK_COMPARISON
Y

But when the same thing kept in the script eval command is not working.

Code:
./aa
RUN_COST_PRICES_COMPARISON

RUN_SELLING_PRICE_COMPARISON

RUN_RATIO_PACK_COMPARISON

Could you pleases advice if something needs to be added
Can someone please help me on this. Thanks
# 4  
Old 10-28-2010
bash code:
  1. for prm in RUN_COST_PRICES_COMPARISON RUN_SELLING_PRICE_COMPARISON RUN_RATIO_PACK_COMPARISON
  2. do
  3.      echo $prm
  4.      echo ${!prm}
  5. done
Are the variables filled in your script?
to verify, add this to the the previous one:
Code:
echo "before expansion"
echo $RUN_COST_PRICES_COMPARISON
echo $RUN_SELLING_PRICE_COMPARISON
echo $RUN_RATIO_PACK_COMPARISON
echo "------------------"

# 5  
Old 10-28-2010
Hi,

I am using ksh version, so this is failing with below error :


./aa[8]: ${!prm}: 0403-011 The specified substitution is not valid for this command.
# 6  
Old 10-28-2010
It works fine for me with the same script you use..
Code:
RUN_COST="Y"
RUN_SELLING="N"
RUN_RATIO="Z"

for prm in RUN_COST RUN_SELLING RUN_RATIO
do
     echo $prm
     eval VAR=\$$prm
     echo  "$VAR"
done

Ouyput:
RUN_COST
Y
RUN_SELLING
N
RUN_RATIO
Z

Are the RUN_COST*..etc have values assigned in the script? Or try as echo "$VAR"
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Trouble with variable and command assignment

I have a section of a script where I want to check a log file for a certain oracle error and if there is only one error (and it is ORA-39152) then I want to email that script is complete. Otherwise email failure and log. Somehow with this while the log only has one error and it is ORA-39152, I... (5 Replies)
Discussion started by: cougartrace
5 Replies

2. Shell Programming and Scripting

Error in eval eval command to print html tags

anyone has any info on why this is complaining??? vivek@vivek-c5e55ef2e ~/TAC $ zoneCounter=1 vivek@vivek-c5e55ef2e ~/TAC $ optUsage1=23% vivek@vivek-c5e55ef2e ~/TAC $ eval eval echo "<th>Zone $zoneCounter </th><th align=\"left\"> \$optUsage$zoneCounter </th>" -bash: syntax error... (13 Replies)
Discussion started by: vivek d r
13 Replies

3. Shell Programming and Scripting

Error in eval eval command to print html tags

anyone has any info on why this is complaining??? vivek@vivek-c5e55ef2e ~/TAC $ zoneCounter=1 vivek@vivek-c5e55ef2e ~/TAC $ optUsage1=23% vivek@vivek-c5e55ef2e ~/TAC $ eval eval echo "<th>Zone $zoneCounter </th><th align=\"left\"> \$optUsage$zoneCounter </th>" -bash: syntax error... (1 Reply)
Discussion started by: vivek d r
1 Replies

4. Shell Programming and Scripting

'eval' used in variable assignment

pattern1=book { x=1 eval echo \$pattern$x } book (this is the output) But when I assign a variable to the output of the eval it doesn't work unless I prefix 2 times backslash before $ as shown below. { a=`eval echo \\$pattern$x` echo $a } book Why here twice "\" has to be... (3 Replies)
Discussion started by: ravisingh
3 Replies

5. Solaris

Looking to understand what this command $$ does in variable assignment?

Hi Folks, I'm looking to figure something out in an existing script I'm trying to understand. the command in question(on a Solaris Box using KSH) is: WORKDIR=/tmp/namereplaced.exec.$$.$RANDOM Now, I know it's setting the $workdir environmental variable... And I understand most of... (2 Replies)
Discussion started by: Marc G
2 Replies

6. Shell Programming and Scripting

eval and variable assignment

Hi, i have an issue with eval and variable assignment. 1) i have a date value in a variable and that date is part of a filename, var1=20100331 file1=${var1}-D1-0092.xml.zip file2=${var2}-D2-0092.xml.zip file3=${var3}-D3-0092.xml.zip i am passing the above variables to a script via... (11 Replies)
Discussion started by: mohanpadamata
11 Replies

7. Shell Programming and Scripting

command output to variable assignment and screen simultaneously

Hello Folks, I have a script that runs a command (rsync) that sometimes takes a long time to complete and produces diagnostic output on stdout as it runs. I am currently capturing this output in a variable and using it further in the script. I would like to continue to capture this output... (2 Replies)
Discussion started by: mbm
2 Replies

8. Shell Programming and Scripting

bin/sh eval variable assignment

Why can't I do this? eval "TEST=5;echo $TEST;"; THIS WORKS!! TEST=5;echo $TEST; (2 Replies)
Discussion started by: blasto333
2 Replies

9. Shell Programming and Scripting

How to assign eval value as Variable..

Im facing problem in assigning value of eval array variable as normal variable.. x=0 eval DATA${x}="FJSVcpcu" x=`expr $x + 1` eval DATA${x}="FJSVcsr" if x=0, type -> eval echo \$DATA$x , its give me FJSVcpcu i want assign this value into an variable as variable=`eval echo... (3 Replies)
Discussion started by: neruppu
3 Replies

10. Shell Programming and Scripting

eval a variable that has a .

Hi, Is there any way that I can eval the following - eval abc.csv=def.csv I am getting the - bash: command not found error. thanks. (3 Replies)
Discussion started by: ttshell
3 Replies
Login or Register to Ask a Question