I have an input file like
RMS_RPT_PERIOD_DIM,Table,NYTD_SLS_DM,GPS_SLS_DM1,NYTD_SLS_GPS_INT,RMS_DM,byreddys,7/31/2009,byreddys,7/31/2009,Y,//depot/eqr/salesgps/trunk/src/db/table,TBL_GPS_CONTACT_DETAILS.sql,1.1,,lakshmi,sql,y
GPS_SLS_DM1,Table,NYTD_SLS_GPS,GPS_SLS_DM1,NYTD_SLS_GPS_INT,GPS_SLS_DM_IN,byreddys,8/3/2009,byreddys,8/3/2009,Y,//depot/eqr/salesgps/trunk/src/db/schema,GPS_SLS_DM,1.1,,lakshmi,sql,y
Now i want to read these records in a while loop one after another
My code is liek this.
Object_Name=0
OBJECT_TYPE=1
Source_DB_Name=2
Source_Schema=3
Target_DB_Name=4
Target_Schema=5
DATA_LOAD=10
Perforce_Directory_Name=11
Perforce_Script_Name=12
DB_TYPE_IDX=15
PROCESS_IDX=16
while read line
do
# tokenize the string by ",".
var=(`echo $line | tr ',' ' '`)
if [ "${var[$PROCESS_IDX]}" == "y" ]; then
log_it "entered to process record ${num}"
It works fine. But when i am declaring these values in a seperate file like
a.prop
Object_Name=0
OBJECT_TYPE=1
Source_DB_Name=2
Source_Schema=3
Target_DB_Name=4
Target_Schema=5
DATA_LOAD=10
Perforce_Directory_Name=11
Perforce_Script_Name=12
DB_TYPE_IDX=15
PROCESS_IDX=16
and my code now is
#!/bin/ksh
# Set up the environment
. a.prop
....
while read line
do
# tokenize the string by ",".
var=(`echo $line | tr ',' ' '`)
echo $PROCESS_IDX
if [ "${var[$PROCESS_IDX]}" == "y" ]; then
log_it "entered to process record ${num}"
echo $PROCESS_IDX is printing 16
but
if [ "${var[$PROCESS_IDX]}" == "y" ]; is failing it says : arithmetic syntax error 16
Please help me to resolve this issue.