*BSD News Article 60929


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.bhp.com.au!mel.dit.csiro.au!munnari.OZ.AU!news.hawaii.edu!ames!purdue!haven.umd.edu!news.ums.edu!news.umbc.edu!eff!news.duke.edu!news.mathworks.com!news.kei.com!newsfeed.internetmci.com!howland.reston.ans.net!news.nic.surfnet.nl!surfnet.nl!swsbe6.switch.ch!swidir.switch.ch!in2p3.fr!univ-lyon1.fr!dsi.unimi.it!news.IT.net!dish.news.pipex.net!pipex!tube.news.pipex.net!pipex!lade.news.pipex.net!pipex!dsbc.icl.co.uk!dickens.bra01.ic
l.co.uk!ejr
From: ejr@dickens.bra01.icl.co.uk (Ed Randall)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: /bin/sh isn't Bourne shell
Date: 31 Jan 1996 16:56:50 GMT
Organization: ICL, Bracknell, UK
Lines: 56
Message-ID: <4eo70i$o7j@eccles.dsbc.icl.co.uk>
References: <4ekrik$rlf@eccles.dsbc.icl.co.uk> <xcdensholio.fsf@woodlawn.uchicago.edu> <4enl74$ifr@eccles.dsbc.icl.co.uk> <DM1x4C.GML@deshaw.com>
Reply-To: E.J.Randall@bra0126.wins.icl.co.uk
NNTP-Posting-Host: dickens.bra01.icl.co.uk
X-Newsreader: TIN [version 1.2 PL2]

Christos Zoulas (christos@deshaw.com) wrote:
: In article <4enl74$ifr@eccles.dsbc.icl.co.uk> E.J.Randall@bra0126.wins.icl.co.uk writes:
: >

...[deleted]...

: >
: >Read the man page on sh(1);  Search for "ENV" and "alias". Those words are
: >there, I don't think they should be !

: Well, they need to be there if sh(1) is to be POSIX compliant.

: >What is the /bin/sh that comes with 2.1.0-R by default ?

: It is ash. But it has been modified by CSRG to be almost POSIX compliant.

'Scuse my ignorance, but who or what is "CSRG" ?

: >How do I disable the extended "features" in it ?

: You should not. From the purist point of view and the least suprise principle,
: yes, the Bourne shell should be the old SVR3 Bourne shell. On the other hand,
: if your system is trying to be POSIX compliant, it needs a shell that has
: those features you are trying to eliminate.

Er, that's very nice and kind of you "purists", but no thanks.
Is this a case of "the standards are more important than the installed base"
where in this case, the installed base is any shell script with "#!/bin/sh" at
the top, where "/bin/sh" means Bourne shell, and includes your very own 
"MAKEDEV" script, distributed with the aforementioned 2.1.0-R ?

What has been achieved by making "/bin/sh" POSIX compliant ?
Incompatibility any pre-existing shell scripts which work with all major 
vendors'  flavours of U**X.
Maybe that's why HP ships a POSIX-compliant shell as /bin/posix-sh (or 
something similar, can't remember the exact name)  and leaves /bin/sh as 
good ole' Bourne shell.

Or are you now going to tell me that the POSIX specification says that "root"
must use "/bin/csh" as the default (i.e. like it installs) ??!  Ugh no thanks !
Forget about the pdksh problem which showed this up in the first place;
If you make root's login shell /bin/sh on a FreeBSD-2.1.0-R system, and use
short aliases such as "j" or "l", you are going to find that things break.
And the "MAKEDEV" script is one of the first.

Does "ash" behave like a proper Bourne shell without the "CSRG" modifications ?
If so, can someone give me a URL to it ?
If not, can someone give me a URL to something else that does ?

I've got better things to do than fool around at this level, that's why I junked
Linux a year ago.

Regards,

Ed