Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!news.hawaii.edu!ames!lll-winken.llnl.gov!news.larc.nasa.gov!lerc.nasa.gov!purdue!not-for-mail
From: dpm@cs.purdue.edu (David Moffett)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: /bin/sh isn't Bourne shell
Date: 2 Feb 1996 17:28:03 -0500
Organization: Department of Computer Science, Purdue University
Lines: 50
Message-ID: <4eu35j$aqn@ector.cs.purdue.edu>
References: <4enl74$ifr@eccles.dsbc.icl.co.uk> <3111D553.39F4@pinsight.com> <4ets1o$rvu@nntp5.u.washington.edu>
NNTP-Posting-Host: ector.cs.purdue.edu
Summary: POSIX's ENV breaks stuff
While always careful to not wander into a religous war...
In article <4ets1o$rvu@nntp5.u.washington.edu> somsky@dirac.phys.washington.edu (William R. Somsky) writes:
>Various people have been writing on the new, POSIX-ly correct /bin/sh
>variances from the traditional sh behavior. Esp. in regards to $ENV and
>aliases mangling the behavior of scripts such as MAKEDEV.
>
>What it sounds like is that with the addition of $ENV, sh needs a
>command flag, similar to csh's '-f' flag, which would cause it to
>ignore $ENV and _not_ source any special shell-initialization files.
This is a good, abet broken idea. I believe the problem
here is that POSIX doesn't understand how many thousands
of /bin/sh scripts are running moment to moment. Introducing
ENV is a well meaning feature creep, but it should have been
done with a load card option that ENABLED the feature. Breaking
things that work in such a subtile manner is way wrong.
>It seems like a $ENV-defeat flag is a necessary counterpart to
>having $ENV in the first place. Anybody know how this idea can
>be passed on to the POSIX folks?
If someone can produce a URL, we all should write about this.
/bin/sh is /bin/sh, not some feature creeped mess. The
previously mentioned configure scripts even break if you
break what is one of the few invarients in post Version 6.0
Unix.
Finally, to say that "thou shalt not mess with root's environment"
is all very well and good, just grossly unrealistic. One look,
for example, at SCO's root environment (where ksh can't even
be used in some versions of Open Server as root's shell) and
one knows that scripts that must be portable must withstand
tremendous punishment from ideas that are outside Unix norms.
>________________________________________________________________________
>William R. Somsky somsky@phys.washington.edu
>Department of Physics, Box 351560 B432 Physics-Astro Bldg
>Univ. of Washington, Seattle WA 98195-1560 206/616-2954
/bin/sh is an invarient and if the underpaid, overworked [somewhat like
our favorite FreeBSD core team!] POSIX.{1|2} committee thinks it needs
to be improved then they need to build a shell called something else or
at least let the scripts turn ON features.
Anyone know what else POSIX.2 broke in /bin/sh?
David Moffett
dpm@cs.purdue.edu