syntax error: unexpected end of file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting syntax error: unexpected end of file
# 1  
Old 07-28-2010
syntax error: unexpected end of file

Hi,
I am newbie to UNIX scripting. I am facing this error "syntax error: unexpected end of file" while executing the following script:

------
Code:
a=$1
if [ $a -eq 1 ]
 then
        sqlplus -s prospect_stg/prospect_stg@mdmpt <<END
        insert into bckup_marc_parameter_lookup select * from prospect.marc_parameter_lookup;
        commit;
        exit;
        END
elif [ $a -eq 2 ]
 then
        sqlplus -s prospect_stg/prospect_stg@mdmpt <<END
        delete bckup_marc_parameter_lookup;
        insert into bckup_marc_parameter_lookup select * from prospect.marc_parameter_lookup;
        commit;
        exit;
        END
 else
        echo"pass a valid parameter to shell"
        echo"1 for INSERT into bckup_marc_parameter_lookup"
        echo"2 for DELETE/INSERT into bckup_marc_parameter_lookup"
fi

--------------
Command used for executing is:
sh insert_bckup_lkp.sh 1
Kindly help me to solve this error.

Last edited by joeyg; 07-28-2010 at 04:38 PM.. Reason: Please use codetags to maintain spacing/indenting
# 2  
Old 07-28-2010
Hi,

must be space between echo and ""
Code:
else
echo "pass a valid parameter to shell"
echo "1 for INSERT into bckup_marc_parameter_lookup"
echo "2 for DELETE/INSERT into bckup_marc_parameter_lookup"
fi

This User Gave Thanks to pravin27 For This Post:
# 3  
Old 07-28-2010
Thank you for your reply.
i did that. But showing the same error at the same line.(line 24)
# 4  
Old 07-28-2010
remove space before END
Code:
a=$1
if [ $a -eq 1 ]
 then
        sqlplus -s prospect_stg/prospect_stg@mdmpt <<END
        insert into bckup_marc_parameter_lookup select * from prospect.marc_parameter_lookup;
        commit;
        exit;
END
elif [ $a -eq 2 ]
 then
        sqlplus -s prospect_stg/prospect_stg@mdmpt <<END
        delete bckup_marc_parameter_lookup;
        insert into bckup_marc_parameter_lookup select * from prospect.marc_parameter_lookup;
        commit;
        exit;
END
 else
        echo "pass a valid parameter to shell"
        echo "1 for INSERT into bckup_marc_parameter_lookup"
        echo "2 for DELETE/INSERT into bckup_marc_parameter_lookup"
fi

This User Gave Thanks to pravin27 For This Post:
# 5  
Old 07-28-2010
with line leading TABs:
Code:
        sqlplus -s prospect_stg/prospect_stg@mdmpt <<-END
                    prospect.marc_parameter_lookup;
                    commit;
                    exit;
                     END

or
Code:
        sqlplus -s prospect_stg/prospect_stg@mdmpt <<END
        insert into bckup_marc_parameter_lookup select * from prospect.marc_parameter_lookup;
        commit;
        exit;
END

from 'man ksh':
Code:
     << [-]word
           The shell input is read up to a line that is the  same
           as word, or to an EOF. No parameter substitution, com-
           mand substitution, or file  name  generation  is  per-
           formed  on  word.  The  resulting  document,  called a
           here-document, becomes  the  standard  input.  If  any
           character  of  word  is  quoted,  no interpretation is
           placed upon the characters of the document. Otherwise,
           parameter  and command substitution occur, \NEWLINE is
           ignored, and \ must be used to quote the characters \,
           $,  `,  and  the  first  character  of  word.  If - is
           appended to <<, then all  leading  tabs  are  stripped
           from word and from the document.

This User Gave Thanks to vgersh99 For This Post:
# 6  
Old 07-28-2010
Thank you. It would be useful for me if you could say the significance of placing that END in the begining.
Code:
[marcdev@dyl02019dat03 eipfeed]$ sh insert_bckup_lkp.sh
insert_bckup_lkp.sh: line 2: [: : integer expression expected
insert_bckup_lkp.sh: line 10: [: : integer expression expected
pass a valid parameter to shell
1 for INSERT into bckup_marc_parameter_lookup
2 for DELETE/INSERT into bckup_marc_parameter_lookup

[marcdev@dyl02019dat03 eipfeed]$ sh insert_bckup_lkp.sh 1
69 rows created.

Commit complete.


Last edited by Scott; 07-28-2010 at 06:23 PM.. Reason: Code tags, please...
# 7  
Old 07-29-2010
The string chosen to end the here document (in your case the string "END") must be an exact match. The leading spaces or tabs mean that it is not an exact match.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unexpected End of File Syntax Error

Hi, I am brand new to this so I apologize ahead of time for any formatting problems. I know there is a previous (closed) thread on here about this problem but I wasn't able to fix the error following the posts there so I thought I could create a new one. Here is the error I am getting: ... (3 Replies)
Discussion started by: SierraG
3 Replies

2. Shell Programming and Scripting

Syntax error `end of file' unexpected

I checked the forum and internet, tried different workaorunds but it didnt fixed the error. Please advise on the code. #!/bin/sh CWD=/home/test/Bench cd $CWD (grep "`date +%d-%b"`" File.txt) > /home/test/Bench/dateout if then echo “data” > /home/test/ Bench /test else echo "File... (16 Replies)
Discussion started by: rajjev_saini123
16 Replies

3. Shell Programming and Scripting

cygwin syntax error: unexpected end of file

Hi, I am getting error while running the script. "syntax error: unexpected end of file" if i do cat i cant see the content of the script also it is showing as cat test.sh doner /home/master/* /home/Priya/$i| while read i j The original script is paste /home/names.txt /home/ip.txt |... (6 Replies)
Discussion started by: ranjancom2000
6 Replies

4. Shell Programming and Scripting

syntax error unexpected end of file

I am new to unix, so thank u for ur patience I try to make it work (to duplicate two first columns in several files): #!/bin/bash for i in `seq 2 5` do awk `{ print $1,$1,$2,$2,$3,$4}` final_chr.${i} > input_${i} done and i get ./my_script3.sh: command substitution: line 5: syntax... (2 Replies)
Discussion started by: kush
2 Replies

5. Shell Programming and Scripting

line 15: syntax error: unexpected end of file

Hi all, I am very new to programming and even newer to this forum as well, so I apologize if this should have been in the Newbie category, but... I am currently trying to figure out Shell Scripting and am running into problems early. Not having taken any kind of programming class, I am not even... (2 Replies)
Discussion started by: ccorder22
2 Replies

6. Shell Programming and Scripting

syntax error: unexpected end of file

I will appreciate help is this matter. i am getting this error (./getwind.scr: line 41: syntax error: unexpected end of file) in the following script : ############################## #QSUB -eo -q sb -lT 1200 -s /bin/csh #Run on an HP-UX machine or norway to access ncks # lat and lon are in... (0 Replies)
Discussion started by: peeriich
0 Replies

7. Shell Programming and Scripting

syntax error: unexpected end of file

Hi, I have problem in constructing "IF" condition. The below code throws "tst.sh: line 10: syntax error: unexpected end of file" #!/bin/ksh test=9 echo $test if ] then echo "in" fi echo "end" exit 0 Actually, i want to check whether the variable $test is empty or null. ... (5 Replies)
Discussion started by: tinku
5 Replies

8. Shell Programming and Scripting

script syntax error: unexpected end of file

Need help. I cannot find the reason for this error: here is the script (6 Replies)
Discussion started by: Lenora2009
6 Replies

9. Shell Programming and Scripting

syntax error: unexpected end of file

I have a script that's failing ./zzmaster.sh: line 2: syntax error: unexpected end of file There are 4 scripts total involved. The first 'znocc0.sh' essentially curls a page then does some sed sequences... #!/bin/sh #GET SENTINAL INFO curl -b z0cookie.txt -L -k -e... (2 Replies)
Discussion started by: phpfreak
2 Replies

10. Shell Programming and Scripting

syntax error: unexpected end of file

Hi, I need ur help is this matter, i have th ebelow script, and i keep getting this error: syntax error: unexpected end of file affectedRow=`cat dbOutput.log | grep "1 row affected"` echo "affectedRow : $affectedRow" if ; then echo "Look to the next OMCDB" ... (10 Replies)
Discussion started by: Alaeddin
10 Replies
Login or Register to Ask a Question