Aazure.299 fa.unix-wizards utzoo!decvax!duke!chico!teklabs!tekmdp!azure!stevenm Mon Dec 14 11:20:06 1981 '#' botch in 4.1BSD Bourne Shell I sent this twice now, and nothing has happened, my apologies if it comes flooding out several times. ------------------------ From: stevenm To: tekmdp!teklabs!ucbvax!unix-wizards Cc: jimb mikez steveg grahamr steved laurir Subject: '#' botch in 4.1BSD Bourne Shell Fcc: sys 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. ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.