at Berkeley, teklabs!tekmdp!azure!steveg at Berkeley, teklabs!tekmdp!azure!grahamr

utzoo!decvax!ucbvax!unix-wizards utzoo!decvax!ucbvax!unix-wizards
Sun Dec 27 04:51:56 AEST 1981


>From teklabs!tekmdp!azure!stevenm at Berkeley Sun Dec 27 04:38:47 1981
 at Berkeley, teklabs!tekmdp!azure!steved at Berkeley, teklabs!tekmdp!azure!laurir
 at Berkeley
Fcc: sys
Subject: '#' botch in 4.1BSD Bourne Shell
Via:  Ucb-C70.ArpaNet; 29 Nov 81 20:24-PDT
Remailed-date: 26 Dec 1981 1758-PST
Remailed-from: GEOFF at SRI-CSL
Remailed-to: Unix-Wizards: ;
Via:  Sri-Csl.ArpaNet; 26 Dec 81 18:24-PDT

flame_on();             /* flame length = 50 lines */

We recently installed a new version of the Bourne Shell at our site,
fresh from a distribution from Berkeley. Well what do ya know, all of
our programs that had '#' characters in them stopped working!!!

This caused a fair bit of consternation in the people that were among
the first to discover this misbegotten feature, but eventually we
discovered that part of UCB's much hailed 'automatic exec of shell
files' was to make '#' the comment char in the Bourne Shell.

Now I have nothing against the C shell, (aside from the fact that most
of its potentially nicest features are unusable), and as far as I am
concerned, the C Shell-ers can choose any comment character that they
like.  But when that character creeps into the Bourne Shell, which has
been a rock of stability for three years, I begin to get upset.

For, as of the other day, the ubiquitous

	cat #foo;       : '#' is my backup char

now simply stares mutely at me forever, or until I discover what has
happened. When I find that '#' is the comment character, I discover
that it doesn't even work like the existing Shell comment char! It
simply dumps the line until the next '\n'. A conveniant four-line hack,
but totally brain-damaged.

There are several issues here:

	1) Why is UCB (a de facto standard) changing the syntax of
	the major UNIX interface after over three years of use?

	2) Why does UCB think that they can do these things
	without either some notice or some consultation.

	3) Who decides when changes like these happen?

I believe strongly in progress. I believe in forward motion. I do not,
however, believe in reckless and unneccesary changes. The '#!' problem
and the 'csh' invocation thing could have been easily solved by
detecting '#' as the first char of the file, and leaving the rest of
the shell alone. This would have minimized the user impact of a rather
dubious set of changes.

Grump, grump, grump, bitch, whine, moan .....

flame_off();

S. McGeady
Tektronix, Inc.



More information about the Comp.unix.wizards mailing list