Problem with reading from a properties file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with reading from a properties file
# 1  
Old 08-20-2009
Problem with reading from a properties file

Hi,

i have a properties file a.prop where entry is like
PROCESS_IDX=0

Now in my shell schript i am doing like this.
#!/bin/sh
. a.prop
..............
-.......................
while read line
do
# tokenize the string by ",".
var=(`echo $line | tr ',' ' '`)
echo $PROCESS_IDX --> is printing 16
but when i am giving like below
if [ "${var[$PROCESS_IDX]}" == "y" ]; then
it is giving me the below error
")syntax error: operand expected (error token is "

Thanks for your help.

---------- Post updated at 06:38 PM ---------- Previous update was at 06:33 PM ----------

and the same code works if i am putting PROCESS_IDX=0 in my shell script.

Pls help
# 2  
Old 08-20-2009
Please use CODE tags to clean up the formatting there - it's very hard to read.
Also, I don't believe ${variable[index]} syntax works under bourne (you start your script with #!/bin/sh).
Make sure you are remembering to export the PROCESS_IDX variable in your properties file too.
# 3  
Old 08-20-2009
Put the contents of the file.
# 4  
Old 08-21-2009
I have an input file like

Code:
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,yNow i want to read these records in a while loop one after another
My code is liek this.

Code:
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.
# 5  
Old 08-21-2009
Once again, please use CODE tags to clean up the formatting there. It's very hard to read!
# 6  
Old 08-21-2009
My Input file :
***************************************************************
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
....................................
***************************************************************
Now i want to read these records in a while loop one after another
My code is like this.

[Code]
Object_Name=0
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
DB_TYPE_IDX=15
PROCESS_IDX=16
[code]
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.
# 7  
Old 08-21-2009
WTF, how many times do we have to tell you to put CODE tags around your code or file contents ?

Are you unable to read the requests in English ?

tyler_durden
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Reading properties from file and setting variable values

I want to read properties from a file and print evaluated values of each key. I am using AIX6.1. myfile.props protocol=http siteA.host=siteAhostname pageA=pageNameA siteAURL1=${protocol}:/${siteA.host}/pagea/blabla?v1=32 siteAURL2=${protocol}:/${siteA.host}/${pageA}/blabla?v1=32... (5 Replies)
Discussion started by: kchinnam
5 Replies

2. AIX

Reading .properties file on AIX and Windows

I have a FirstDoc application that integrates with SharePoint 2010. As per the FirstDoc install guide, I need to generate the sharepoint_authentication properties file and place it on the server and the 2 Windows boxes that contain other components of the app. The properties file I... (1 Reply)
Discussion started by: shoefiend
1 Replies

3. Shell Programming and Scripting

reading in properties file

Hi Am new to this scripting stuff so bear with me. I got a script made now that reads in a properties file. The properties file is in the following format: 256= Bos, Sea, FRa 128= HEL I want to be able to read in each line of the file and split out the letter fields by the numbered field. This... (2 Replies)
Discussion started by: vsekvsek
2 Replies

4. Shell Programming and Scripting

Reading the Properties File From Shell script

Hi, I am new to the shell script please I need help for following question. I have properties file name called "com.test.properties" I have No of key values in this properties. com.person.name = xyz com.person.age = 55 com.person.address = hello I want read this properties but i... (1 Reply)
Discussion started by: venukjs
1 Replies

5. Shell Programming and Scripting

Problem in reading file (bash)

i get a name from user first name : last name, in this format. Now i am saving this to a file. what i want is, I do not want to save any name if I already have one entry o that same name..what should i do for example user give robert fernandez this will save in file as robert:fernandez. if... (5 Replies)
Discussion started by: Learnerabc
5 Replies

6. Shell Programming and Scripting

Problem in reading a file

Hi Guys, I am having a file which does not have any name when i do a ls -l -rw-r--r-- 1 dctrdat1 dctrdata 35 Feb 09 08:04 -rw-r--r-- 1 dctrdat1 dctrdata 11961 Feb 08 06:40 DAI_data.txt Now i want to see what is inside that file. Can you please let me know how to read... (9 Replies)
Discussion started by: mac4rfree
9 Replies

7. Shell Programming and Scripting

Problem in reading a file content

Hi, I am reading a file line by line using read line function of while loop. Each line contains 4 fields. I want to take these 4 values in 4 variables in each iteration so that i can use them in my script. The issue here is that my awk command is returning awkward results - Here is a sample line... (8 Replies)
Discussion started by: garman
8 Replies

8. Shell Programming and Scripting

Problem with retrieving values from properties file

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... (2 Replies)
Discussion started by: sailaja_80
2 Replies

9. Shell Programming and Scripting

problem in reading a file

i need to read record by record i use script #!/bin/ksh for i in 'cat filename' do echo $1 done but i dont get expected result i just get filename echoed on screen (4 Replies)
Discussion started by: er_zeeshan05
4 Replies

10. Shell Programming and Scripting

help me ...problem in reading a file

hi, while reading a file line by line # name of the script is scriptrd while read line do echo $line done while executing bash$ ./scriptrd if i give the input as * the output is like it displays the contents of the current directory i jus wanted it to print as * (6 Replies)
Discussion started by: brkavi_in
6 Replies
Login or Register to Ask a Question