From: Malcolm Kay <malcolm.kay@internode.on.net>
To: mascheck@in-ulm.de
Cc: dash@vger.kernel.org
Subject: Re: if then elif then else fi -- Problem report
Date: Tue, 6 Jul 2010 17:18:54 +0930 [thread overview]
Message-ID: <201007061718.54673.malcolm.kay@internode.on.net> (raw)
In-Reply-To: <20100704215016.GA27297@lisa.in-ulm.de>
On Mon, 5 Jul 2010 07:20 am, Sven Mascheck wrote:
> On Tue, Jun 29, 2010 at 10:38:31AM +0930, Malcolm Kay wrote:
> > I had assumed that 'dash' aimed to be a faster replacement
> > for the classical Bourne shell 'sh' as implemented in BSD
> > systems, and this seemed to be confirmed when all the man
> > pages I've been able to find were more or less direct copies
> > of BSD 'sh' pages.
>
> The original ash (at the time of 4.3BSD-Net2) was such a
> replacement of the SVR4 Bourne shell. But with the next
> "traditional" BSD release, 4.4BSD alpha, the shell was already
> aiming at POSIX; and so were the shells on NetBSD (1.0 ff) and
> FreeBSD, soon.
I recall seeing and even playing with an implementation of
the Almquist shell 'ash' in the mid 1980's but as it was running
on an unimpressive/unsuitable operating system (DRDOS/TOS) it
was not really very inspiring.
Later I picked up a microVAX with Ultrix 4, I still have the
manuals. The man pages reference sh(1) as "the standard Bourne
shell interpreter" and sh5(1) as a "version of the shell from
System V version 2". In general the sh(1) pages has seemed to
conform fairly closely to 'sh' as found on modern BSD operating
systems. But now that I look more closely I find that both the
Ultrix man pages define a list as "one or more ..." ,
rather the "zero or more ..." as in later man pages -- so it
would seem at least in that respect the Ultrix corresponds more
closely to what was then a not yet existing POSIX standard.
In a way I do find this rather surprising as POSIX appeared
in an era when languages such as fortran and basic which started
counting at one were becoming displaced (admittedly rather
slowly) by languages that incorporated zero, C, pascal and
virtually all the modern OOP languages.
>
> However, there is a relation from 4.3BSD-Net2, 386BSD,
> earlyNetBSD to a Linux port, and thus a Bourne-like ash
> interestingly survived with Slackware until 2007 (8.1).
>
> dash in contrast was an independent, later port from NetBSD to
> Linux and was a modern variant from the start.
History can be interesting and sometimes somewhat surpising.
Malcolm
next prev parent reply other threads:[~2010-07-06 7:48 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-28 12:56 if then elif then else fi -- Problem report Malcolm Kay
2010-06-28 13:22 ` Eric Blake
2010-06-29 1:08 ` Malcolm Kay
2010-06-29 12:56 ` Eric Blake
2010-07-04 21:50 ` Sven Mascheck
2010-07-06 7:48 ` Malcolm Kay [this message]
2010-07-06 20:49 ` Sven Mascheck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201007061718.54673.malcolm.kay@internode.on.net \
--to=malcolm.kay@internode.on.net \
--cc=dash@vger.kernel.org \
--cc=mascheck@in-ulm.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.