Sponsored Content
Full Discussion: Dynamic variables and eval
Top Forums Shell Programming and Scripting Dynamic variables and eval Post 302414306 by yonderboy on Monday 19th of April 2010 08:44:10 PM
Old 04-19-2010
Thanks for your response. I think perhaps I have been too verbose in my explanation. What it boils down to is this.....

If I have the following variables set up for an iteration:
c=1
n=2
sl1=10

Is it possible (with eval or any other tool for that matter) to assign the value of sl1 to an (as yet undefined) variable called $di1sl2.

This would be easy enough if the name of $sl1 and the undefined variable did not change for every iteration.

So the way I see it happening (in psuedo-code) would be:

Code:
 
eval "di${c}sl${n} = ${sl${c}}"

Then when you:

Code:
echo ${di1sl2}

You should get:

10

Hopefully you can now see my issue, namely that the variable that contains "10" will be differently named for each iteration (it could be $sl1, $sl2 $sl3 etc). so this means that eval will need to deal with a "variable within a variable" - notice the two pairs of curly braces in the same variable in the example above.

Does this make it any clearer?

Many thanks....

Last edited by yonderboy; 04-19-2010 at 10:39 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Dynamic variables within shell script

Hi Gurus, I have a requirement of writting the shell script where it should ask me two values FND_TOP=/d02/app/oracle/xxx/fnd/11.5.0 CDCRM_TOP=/d02/app/oracle/xxx/cdcrm/11.5.0 and then keep these values stored as variables for the execution of rest of the script. Because, I have to... (2 Replies)
Discussion started by: isingh786
2 Replies

2. UNIX for Dummies Questions & Answers

dynamic variables

I am new to unix and the following problem is bugging me.:confused: var1="hello1" var2="hello2" var3="hello3" counter=1 while do echo $var$counter done the idea here is to display the value of "var" based on the counter. I am using the korn shell. I used array here but the... (4 Replies)
Discussion started by: max_payne1234
4 Replies

3. Programming

global variables and dynamic allocation

Hi, is it possible in C to allocate dynamically a global variable?? (3 Replies)
Discussion started by: littleboyblu
3 Replies

4. Shell Programming and Scripting

Problem with dynamic variables outside the loop

Hi All, Shell is ksh I've given portion of the script here to explain the problem. It will accept 2 input parameters . in_file1=$1 in_file2=$2 outbound_dir=/home/outbound for i in 1 2 do eval file$i=$outbound_dir/\$in_file$i eval echo "filename is \$file$i" ... (4 Replies)
Discussion started by: kk17
4 Replies

5. Shell Programming and Scripting

dynamic variables - eval - expand etc.

Hello, so i'm making a script, using dynamic variables and trying to expand them. So far it hasn't worked out too well so it seems that I need some help from you, the elite. Example: #!/bin/sh counter=0 until (($counter>5)) counter2=1 until (($counter2>6)); do if ;... (5 Replies)
Discussion started by: TehOne
5 Replies

6. Shell Programming and Scripting

Creating Dynamic Variables from a Flat File

Greetings all, Been trying to do my Googling and forum searches but can't seem to lock in on a solution. I have a script that parses a log and collects all the uniq events to a flat file. Some days might have 50 unique events, other days might have 75. (Hence my reference to dynamic.) ... (2 Replies)
Discussion started by: sjrupp
2 Replies

7. 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

8. Shell Programming and Scripting

'Dynamic' setting of variables in bash script

Hi all, I want to dynamically set variables in a bash script. I made a naive attempt in a while loop that hopefully can clarify the idea. n=0; echo "$lst" | while read p; do n=$(($n+1)); p"$n"="$p"; done The error message is: bash: p1=line1: command not found bash: p2=line2: command... (8 Replies)
Discussion started by: jeppe83
8 Replies

9. Shell Programming and Scripting

Generating dynamic variables

Hi , i am unable to generate dynamic variables can any one please help me on the below issue j=1 {record_count_"$j"}=`db2 -xselect substr\(job_name,24\) rec_count from $libname.audit_table_nrt where job_name like \'DATAMART_DEL_RUN%\' and STS_FLAG=\'E\' and seq_no=$i` echo " record... (3 Replies)
Discussion started by: bhaskar v
3 Replies

10. UNIX for Beginners Questions & Answers

[BASH] eval command not expanding variables as expected.

Hi Guys, I wrote a collection of bash functions years ago and now need to use them again but I'm getting some error messages when eval tries to expand the variables names. I recollect that I used the shopt command to set one of the options but I can't quite remember the command that I... (8 Replies)
Discussion started by: ASGR
8 Replies
ENVSTORE(1)						    BSD General Commands Manual 					       ENVSTORE(1)

NAME
envstore -- save and restore environment variables SYNOPSIS
envstore command [args ...] DESCRIPTION
envstore can save and restore environment variables, thus transferring them between different shells. command must be one of clear Forget all stored variables eval Produce shell code for evaluation, restoring all saved variables list List saved variables in better readable format save variable [value] Save variable either with its current shell value or with value rm variable Remove variable from store Note: Only the first character of command is checked, so envstore e instead of envstore eval, envstore c for envstore clear, etc., are also valid. ENVIRONMENT
ENVSTORE_FILE The file in which the environment parameters are stored, /tmp/envstore-EUID by default, LIMITATIONS
Variable names or values must not contain null bytes or newlines. Due to limitations imposed by most shells, it is not possible to save parameters containing more than one consecutive whitespace. envstore will save and display them correctly, but unless you do IFS trickery, your shell will not be able to load them. The current maximum length (in bytes) is 255 bytes for the variable name and 1023 bytes for its content. AUTHOR
envstore was written by Daniel Friesel <derf@derf.homelinux.org>. Original idea and script by Maximilian Gass <mxey@ghosthacking.net>. SEE ALSO
envify(1) BSD
December 1, 2009 BSD
All times are GMT -4. The time now is 07:18 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy