Visit Our UNIX and Linux User Community


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

Previous Thread | Next Thread
Test Your Knowledge in Computers #259
Difficulty: Easy
Steve Jobs was born in San Francisco, California, and put up for adoption.
True or False?

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

Featured Tech Videos