SysV sh <<- silliness
David Elliott
dce at mips.UUCP
Fri Jan 9 15:26:39 AEST 1987
For the 5th time in three years, I've had someone complain that
their shell scripts break when using the System V shell because
they use things like
cat <<-END_OF_FILE-
...
-END_OF_FILE-
For those of you that don't know about <<- in System V shell, it means
"strip off leading whitespace (or maybe just tabs) in the document
and the terminator". This nice feature allows you to indent your text,
but obviously it breaks working shell scripts (don't even talk to me
about 'include' in make).
Anyway, I just realized that the syntax <<# would have been a better
idea. Since <<# is syntactically illegal in the BSD and System V shells
already,
1. no valid shell script could be broken by adding this
2. if you tried to run a script that uses <<# with a shell
that doesn't support it, it breaks with a syntax error
instead of getting an unexpected end of file message.
Does anyone see a flaw in this thinking? Is AT&T listening? Do they care?
David
More information about the Comp.unix.questions
mailing list