Thanks to:
Robert Mulley
Gavin Kreuter
It is not a BUG.
It is not a bug. ksh is looking for "EOF" to signal end to stdin. not "EOF
". Whitespace is important in this situation. It is the same as putting
"EOF.", whereas you may see the "." or " " as unimportant the shell
interprets the line as another command.
-----Original Message-----
From: Hannes Visagie [mailto:visagi_h_at_mtn.co.ug]
Sent: Wednesday, 28 February, 2001 12:08 PM
To: tru64-unix-managers_at_ornl.gov
Subject: Bug in sh, and ksh, or not a bug ? << Shell Input. True65 5.1,
no patches
Importance: High
Hi all
Please confirm you can generate this bug, or is it not a bug. According to
me it is a bug.
in the following example you start a << EOF and end EOF between a if/fi
statement. All OK.
But now change to blablabla... <<EOF
EOF_ {Replace the '_' to a normal space char}
Now run and script does not work. !!!
Take it out of if/fi and works again.
#-----snip ---
#!/usr/bin/ksh
TEST='abc'
if [ "$TEST" = "abc" ]; then
ftp -i -n 10.ip.ip.ip << EOF
user your_username your_password
ls
exit
EOF
#Add a space to above line after the EOF, script fails
fi
#---- end snip ----
Received on Wed Feb 28 2001 - 10:03:58 NZDT