Summary: Bug in sh, and ksh, or not a bug ? << Shell Input. True6 4 5.1, no patches

From: Hannes Visagie <visagi_h_at_mtn.co.ug>
Date: Wed, 28 Feb 2001 13:01:52 +0300

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

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:41 NZDT