06-27-2008
naming variables with variables
Hello,
FIRST QUESTION:
I am writing a script in which a query is taken at the beginning of the script to be later used at the end. In the query, variables are generated from a loop, and I would like to assign the variable NAME (not value) with an appended 1, 2, 3, 4.....n. The number of loops varies according to the circumstance.
So for example, I get:
$pattern1, $pattern2, $pattern3...etc
The problem I have is that these variables are used later in the script in a loop, in which the first pass of the loop needs to call the first $pattern1, the second pass should call $pattern2, etc.
How do I dynamically call each variable in its sequence?
If I try something like incrementing a variable called "pass" each time, and then appending it to pattern:
$pattern$pass
I merely get the concatenation of the two (which simply is the value of $pass, since $pattern is not set).
I have tried things like:
${pattern$pass}
but only get errors.
Any ideas on how to call variables in this way?
SECOND QUESTION
At the beginning of the script where I am originally assigning values to the $pattern/n variables, I am also naming them dynamically, using
let pattern$pass=value
so when pass=1 I end up with a variable called pattern1 with the value of value.
(simply typing pattern$pass=value does not work, I had to explicitly use the let command.)
This works fine, but I run into trouble when I want to place forward slashes around value in order to substitute it in a sed script, eg,
let pattern$pass=/value/
I get an error from let saying operand expected.
Does anyone know how I might accomplish this?
I can work around this one, but I would rather find out how to do what I want to do.Thank you,
Allasso
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
the oracle variables in the .profile are
not listed. any thoughts?
thanks,
rs (15 Replies)
Discussion started by: rsh
15 Replies
2. UNIX for Dummies Questions & Answers
I have a script that I'm trying to shorten (below) by removing repetitive code.
if ]
then
commodity_ndm_done=Y
fi
if ]
then
customer_ndm_done=Y
fi
if ]
then
department_ndm_done=Y
fi
if ]
then
division_ndm_done=Y
fi (3 Replies)
Discussion started by: superdelic
3 Replies
3. Shell Programming and Scripting
Hi every body,
I want to know what is the different between the following:
$VAR1
${VAR2}
"${VAR3}"
Are they equivalent?
Thanks in advance (1 Reply)
Discussion started by: aldowsary
1 Replies
4. UNIX for Dummies Questions & Answers
data1 contain:
100;1
390;3
1;2
144;6
data2 contain:
100;1
300;4
1;2
130;4
144;6
390;3
.....
....
.......... and so on... (1 Reply)
Discussion started by: bobo
1 Replies
5. Programming
Hello everybody,
I am having problem in converting byte array variables to Hexa String variables for Linux. I have done, converting byte array variables to Hexa String variables for Windows but same function doesn't work for linux. Is there any difference in OS ? The code for Windows is given... (2 Replies)
Discussion started by: ritesh_163
2 Replies
6. Shell Programming and Scripting
Hi all,
i need to read a variable and analyze if there are one or more variable:
read VAR
if "VAR is one ore two or more"; then
...
else
...
fi
Can anybody help?
Regards (12 Replies)
Discussion started by: marimovo
12 Replies
7. Shell Programming and Scripting
Hi All,
i have a requirement where i have to run a script with at least 25 arguements and position of arguements can also change. the unapropriate way is like below. can we achieve this in more good and precise way??
#!/bin/ksh
##script is sample.ksh
age=$1
gender=$2
class=$3
.
.
.... (3 Replies)
Discussion started by: Lakshman_Gupta
3 Replies
8. Shell Programming and Scripting
Sometimes it is handy to protect long scripts in C++.
The following syntax works fine for simple commands:
#define SHELLSCRIPT1 "\
#/bin/bash \n\
echo \"hello\" \n\
"
int main ()
{
cout <<system(SHELLSCRIPT1);
return 0;
}
Unfortunately for there are problems for:
1d arrays:... (10 Replies)
Discussion started by: frad
10 Replies
9. Shell Programming and Scripting
Trying to do so
echo "111:222:333" |awk -F: '{system("export TESTO=" $2)}'But it doesn't work (2 Replies)
Discussion started by: urello
2 Replies
10. UNIX for Dummies Questions & Answers
Below are three variables, which I want to pass into variable RESULT1
username1=userid
poihostname1=dellsys.com
port1=8080
How can I pass these variables into below code...
RESULT1=$((ssh -n username1@poihostname1 time /usr/sfw/bin/wget --user=sam --password=123 -O /dev/null -q... (4 Replies)
Discussion started by: manohar2013
4 Replies