Variables are not taken in a string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Variables are not taken in a string
# 1  
Old 08-14-2013
Variables are not taken in a string

Here is what I'm trying to do.
A query embedded with a unix variable is stored in the database table. When it is pulled out, it has a variable in it and it needs to be replaced by the variable passed to the script below.

Code:
1. select cast(cmd_string as varchar(1000)) from mytable where tabname='mytable'
Output from the query:
select char(substr(date(substr(MTH_BEG_DY_ID,1,4)||'-'||substr(MTH_BEG_DY_ID,5,2)||'-'||substr(MTH_BEG_DY_ID,7,2)) + 1 month,7,4)||substr(date(substr(MTH_BEG_DY_ID,1,4)||'-'||substr(MTH_BEG_DY_ID,5,2)||'-'||substr(MTH_BEG_DY_ID,7,2)) + 1 month,1,2),6) from ECD.DT_MTH_DIM where MTH_DIM_ID=$lowvalue with ur
2. Now this query is passed to a variable
lowsql="${abovequery}"
echo lowsql:
 select char(substr(date(substr(MTH_BEG_DY_ID,1,4)||'-'||substr(MTH_BEG_DY_ID,5,2)||'-'||substr(MTH_BEG_DY_ID,7,2)) + 1 month,7,4)||substr(date(substr(MTH_BEG_DY_ID,1,4)||'-'||substr(MTH_BEG_DY_ID,5,2)||'-'||substr(MTH_BEG_DY_ID,7,2)) + 1 month,1,2),6) from ECD.DT_MTH_DIM where MTH_DIM_ID=$lowvalue with ur
3. Now trying to replace $lowvalue with the actual value:
function runq {
lowvalue=$1
echo lowvalue $lowvalue before
echo "lowsql before $lowsql"
p=`echo "$lowsql"`
echo p: $p
}
runq 201302

4. Output from this function:
./makeq.ksh 201302
lowvalue 201302 before
lowsql before select char(substr(date(substr(MTH_BEG_DY_ID,1,4)||'-'||substr(MTH_BEG_DY_ID,5,2)||'-'||substr(MTH_BEG_DY_ID,7,2)) + 1 month,7,4)||substr(date(substr(MTH_BEG_DY_ID,1,4)||'-'||substr(MTH_BEG_DY_ID,5,2)||'-'||substr(MTH_BEG_DY_ID,7,2)) + 1 month,1,2),6) from ECD.DT_MTH_DIM where MTH_DIM_ID=$lowvalue with ur
p: select char(substr(date(substr(MTH_BEG_DY_ID,1,4)||'-'||substr(MTH_BEG_DY_ID,5,2)||'-'||substr(MTH_BEG_DY_ID,7,2)) + 1 month,7,4)||substr(date(substr(MTH_BEG_DY_ID,1,4)||'-'||substr(MTH_BEG_DY_ID,5,2)||'-'||substr(MTH_BEG_DY_ID,7,2)) + 1 month,1,2),6) from ECD.DT_MTH_DIM where MTH_DIM_ID=$lowvalue with ur

However, $lowvalue is not being replaced by the actual value 201302.

Anyone has any suggestion or idea why?

Thanks.

Sheila
# 2  
Old 08-14-2013
Try the deprecated and dangerous eval!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

comparing variables to date as string

I have a file $ cat myfile A 02/16/2012 B 02/19/2012 C 02/20/2012 D 02/17/2012 E 02/16/2012 My simple script > cat myscript.sh mydate="02/16/2012" awk ' ($2~/$mydate/) {print $1}' < myfile but I got no output! and when I try $2~/'$mydate'/ I got: The error context is (2 Replies)
Discussion started by: Sara_84
2 Replies

2. Shell Programming and Scripting

Help with setting variables extracted from a string

Hi guys, I'm using tcsh. I have a string that contains variable names: "var1:var2:var 3", I want to be able to do different operations on the content of those variables: I extract the variable names with: foreach var ( `echo $string | sed 's/:/\n/g'`) now in the variable `var` I have the... (1 Reply)
Discussion started by: gofmarat
1 Replies

3. Shell Programming and Scripting

string into variables

Hi, i am new to Shell Scripting, i want to get some input from user which is string, and i want to store it into variables. Eg: str='hello how are you' i want to store this string into 4variables lyk s1=hello s2=how s3=are s4=you thanks, lak (11 Replies)
Discussion started by: lakshmikanthe
11 Replies

4. Shell Programming and Scripting

How to parse a string into variables

I'm working in korn shell and have a variable which contains a string like: aa_yyyymmdd_bbb_ccc_ddd.abc. I want to treat the _ and . as delimiters and parse the string so I end up with 6 values in variables that I can manipulate. My original plan was to use var1=`echo $sting1 | cut -c1-c2` but... (9 Replies)
Discussion started by: aquimby
9 Replies

5. Shell Programming and Scripting

divide a string into variables

i have /tmp/dev/string1/testfile.txt i need only testfile.txt How can get that..can anyone helpme out Thanx (2 Replies)
Discussion started by: KiranKumarKarre
2 Replies

6. Shell Programming and Scripting

Comparing String with Number variables

I have two variables and want to perform some functions after comparison $cat file1 14.abcde a=`cut -f 1 -d "." file1 b=15 if then .... fi but i got an error message says that unary operator expected and i think its because of $a is a string and trying to compare with... (3 Replies)
Discussion started by: bonosungho
3 Replies

7. Shell Programming and Scripting

Compare String Variables for Greater or Less Than?

Is there any way to compare two strings for a greater or less than condition? For example, StringA is "apple" and StringB is "bonnet" and StringC is "captain". Can I only test for equal/not-equal, or is there a way to find out whether StringA is less than StringB, and StringC is greater than... (6 Replies)
Discussion started by: OPTIMUS_prime
6 Replies

8. Shell Programming and Scripting

Passing string variables

HI all, Very new to shell programming and just wanted some help on how to solve the following problem. I have a small shell script which searches a given file and extracts some string parameters. I want to now be able to call this script from another shell script and somehow pass the parameters... (11 Replies)
Discussion started by: pxy2d1
11 Replies

9. UNIX for Dummies Questions & Answers

comparing 2 string variables in unix

search=Jul 22 date=Jul 22 if then echo They match >>this piece of code does not detect that search and date are equivalent strings.. what's wrong with it? (17 Replies)
Discussion started by: katdaniel16
17 Replies

10. Shell Programming and Scripting

KSH split string into variables

Hello, I am an intermediate scripter. I can usually find and adapt what I need by searching through previous postings, but I'm stumped. I have a string with the format "{Name1 Release1 Type1 Parent1} {Name2 Release2 Type2 Parent2}". It is being passed as an argument into a ksh script. I need to... (5 Replies)
Discussion started by: drd_2b
5 Replies
Login or Register to Ask a Question