Visit Our UNIX and Linux User Community


Need help line 35: syntax error: unexpected end of file only 34 lines of code


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help line 35: syntax error: unexpected end of file only 34 lines of code
# 1  
Old 10-14-2010
Need help line 35: syntax error: unexpected end of file only 34 lines of code

I am not sure what I am doing wrong here, I did some research and only confused myself further. Any help would be greatly appreciated. I need to make this work for work tomorrow.

There are only 34 lines of code in this script, yet its complaining about line 35

Here is the code:

Code:
#!/bin/bash
VUE_SEND_DIR=/blah/send
VUE_GET_DIR=/blah/receive
LC_GET_DIR=/usr/public/blah/blah/CDK/get
LC_SEND_DIR=/usr/public/blah/blah/CDK/send


PS3='Let me know what you would like to do'
LIST="Pull Send EXIT"
select OPT in $LIST
do
if [ $OPT = "Pull" ] &> /dev/null
then
sftp blah@sftp.blah.com <<EOF

        cd $VUE_SEND_DIR
        lcd $LC_GET_DIR
        mget *
        exit
    EOF
elif [ $OPT = "Send" ] &> /dev/null
then
sftp blah@sftp.blah.com <<EOF

        cd $VUE_GET_DIR
        lcd $LC_SEND_DIR
        mget *
        exit
    EOF
elif [ $OPT = "END" ] &> /dev/null
then
exit 0
fi
done


Last edited by Scott; 10-14-2010 at 03:09 PM.. Reason: Code tags, please...
# 2  
Old 10-14-2010
You're missing the final 'else' in your if statement.

Format is:

if
elif
else
fi

Hope this helps.
# 3  
Old 10-14-2010
It works for me:

Code:
# ./mySCPScript.sh
1) Pull
2) Send
3) EXIT
Let me know what you would like to do

Try to "vi <script>" and see if there are "^M" in the end of the lines!

If they are there, try: "dos2unix <script>"

Regards.
# 4  
Old 10-14-2010
Quote:
Originally Posted by felipe.vinturin
It works for me:

Code:
# ./mySCPScript.sh
1) Pull
2) Send
3) EXIT
Let me know what you would like to do

Try to "vi <script>" and see if there are "^M" in the end of the lines!

If they are there, try: "dos2unix <script>"

Regards.
I am going crazy right now.... did dos2unix about 10 times and still


line 35: syntax error: unexpected end of file
# 5  
Old 10-14-2010
The "EOF" at both the places should begin at column number 1.

The script works in Cygwin Bash if that is fixed.

Code:
$
$
$ cat -n f34
     1  #!/bin/bash
     2  VUE_SEND_DIR=/blah/send
     3  VUE_GET_DIR=/blah/receive
     4  LC_GET_DIR=/usr/public/blah/blah/CDK/get
     5  LC_SEND_DIR=/usr/public/blah/blah/CDK/send
     6
     7
     8  PS3='Let me know what you would like to do'
     9  LIST="Pull Send EXIT"
    10  select OPT in $LIST
    11  do
    12  if [ $OPT = "Pull" ] &> /dev/null
    13  then
    14  sftp blah@sftp.blah.com <<EOF
    15
    16          cd $VUE_SEND_DIR
    17          lcd $LC_GET_DIR
    18          mget *
    19          exit
    20      EOF
    21  elif [ $OPT = "Send" ] &> /dev/null
    22  then
    23  sftp blah@sftp.blah.com <<EOF
    24
    25          cd $VUE_GET_DIR
    26          lcd $LC_SEND_DIR
    27          mget *
    28          exit
    29      EOF
    30  elif [ $OPT = "END" ] &> /dev/null
    31  then
    32  exit 0
    33  fi
    34  done
$
$ ./f34
./f34: line 35: syntax error: unexpected end of file
$
$
$ # after editing lines 20 and 29 of the script
$
$ cat -n f34
     1  #!/bin/bash
     2  VUE_SEND_DIR=/blah/send
     3  VUE_GET_DIR=/blah/receive
     4  LC_GET_DIR=/usr/public/blah/blah/CDK/get
     5  LC_SEND_DIR=/usr/public/blah/blah/CDK/send
     6
     7
     8  PS3='Let me know what you would like to do'
     9  LIST="Pull Send EXIT"
    10  select OPT in $LIST
    11  do
    12  if [ $OPT = "Pull" ] &> /dev/null
    13  then
    14  sftp blah@sftp.blah.com <<EOF
    15
    16          cd $VUE_SEND_DIR
    17          lcd $LC_GET_DIR
    18          mget *
    19          exit
    20  EOF
    21  elif [ $OPT = "Send" ] &> /dev/null
    22  then
    23  sftp blah@sftp.blah.com <<EOF
    24
    25          cd $VUE_GET_DIR
    26          lcd $LC_SEND_DIR
    27          mget *
    28          exit
    29  EOF
    30  elif [ $OPT = "END" ] &> /dev/null
    31  then
    32  exit 0
    33  fi
    34  done
$
$ ./f34
1) Pull
2) Send
3) EXIT
Let me know what you would like to do<CTRL+C>
$
$

tyler_durden
# 6  
Old 10-14-2010
Probably this is not the problem!

When you "vi <script>", can you see "^M"?

Also, add this line write after the interpreter:
Code:
set -xv

Run the script and check the output to see if it helps you.

---------- Post updated at 15:40 ---------- Previous update was at 15:33 ----------

Quote:
Originally Posted by durden_tyler
The "EOF" at both the places should begin at column number 1.
This will solve your problem, that's why it worked for me! When I copied/pasted, the "EOF" went back to the first column. =o)
# 7  
Old 10-14-2010
Thanks Guys!

Column number 1..... a couple of spaces caused me so much headache. You guys are awesome on this board!

Previous Thread | Next Thread
Test Your Knowledge in Computers #373
Difficulty: Medium
JInterpreter is Java bytecode designed to be executed by the Java virtual machine.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Del: line 13: syntax error: unexpected end of file

1 echo -e "Enter a filename" 2 read filename 3 if 4 then 5 echo -e "do you want to delete?" 6 read answer 7 if 8 then rm myfirst 9 else 10 echo -e "file not deleted" 11 fi 12 exit0 (1 Reply)
Discussion started by: Speedy
1 Replies

2. Red Hat

sh: module: line 1: syntax error: unexpected end of file

Hi, We have installed linux6(RHEL) OS and installed datastage application on that. First time installation worked fine and our all services related to datastage was up and running. When we stopped the datastage and restarted its giving below error while restart:- ./uv -admin -start DataStage... (0 Replies)
Discussion started by: prasson_ibm
0 Replies

3. 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

4. Shell Programming and Scripting

EOF Usage - line 56: syntax error: unexpected end of file

Below is a test script I'm writing in the process of learning to write script. When I try to run it I get an unexpected end of file error on line 56. Thoughts? SCRIPT: #!/bin/bash # system_page - A script to produce a system information HTML file ##### Constants TITLE="My System... (1 Reply)
Discussion started by: mpercy725
1 Replies

5. Shell Programming and Scripting

./TRUNCATE-PS_TXN.sh: line 54: syntax error: unexpected end of file

Hi All , My below script is for chacking vaule and then trucating table : ___________ test4@aceuatcs04:/u01/test4/SOLID/Testscript>cat TRUNCATE-PS_TXN.sh #-------------------------------------------------------------------- # Created by:Kaushlesh Yadav # Generated on: 15/07/2010 # Job... (4 Replies)
Discussion started by: kaushelsh168
4 Replies

6. Shell Programming and Scripting

syntax error at line 752: `end of file' unexpected

Hi, I'm having a syntax error at line 752: `end of file' unexpected. However, i didn't make any changes on line 752. I just inserted a new code in an existing program. Can anyone please check if there is something wrong with my code: if then lline=`tail -5 $badfile` ... (3 Replies)
Discussion started by: chryz
3 Replies

7. Shell Programming and Scripting

mkmkfiles.imake: line 51: syntax error: unexpected end of file

Hi, i am installing glut-3.5 using that ./mkmkfiles.imake its showing an error msg as root@lxdevenv:~/Desktop/openGL/glut-3.5# ./mkmkfiles.imake ./mkmkfiles.imake: line 51: syntax error: unexpected end of file root@lxdevenv:~/Desktop/openGL/glut-3.5# actually there are 49 lines in... (3 Replies)
Discussion started by: Ravikishore
3 Replies

8. Shell Programming and Scripting

for loop not working - syntax error at line 6: `end of file' unexpected

I have a file called test.dat which contains a b I have written a shell script called test.sh for i in `cat test.dat` do echo $i done When i run this script using sh test.sh I get this message - test.sh: syntax error at line 6: `end of file' unexpected What is the... (3 Replies)
Discussion started by: debojyoty
3 Replies

9. Shell Programming and Scripting

Help on shell script : syntax error at line 62: `end of file' unexpected

Hi All, I have written a korn script (code pasted below). It is giving the error while debugging "new.sh: syntax error at line 62: `end of file' unexpected". I have re-written the whole code in VI and explored all help related to this error on this Unix forum and tried it. Somehow, I could... (7 Replies)
Discussion started by: schandrakar1
7 Replies

10. Solaris

syntax error at line 59: `end of file' unexpected

Hello... I'm trying to run the sshd script, but I keep geting the Syntax errot message . Here's the last few lines on the script. set nu in vi shows 58 lines, but I keep getting error referring to line 59. Any help is appreciated. Thanks, Remi else echo... (4 Replies)
Discussion started by: Remi
4 Replies

Featured Tech Videos