[conspire] [ONLIST] DNS_CK - appreciate a look-see; Python? - no, it's shell

Rick Moen rick at linuxmafia.com
Thu May 7 14:57:36 PDT 2020


Quoting Michael Paoli (Michael.Paoli at cal.berkeley.edu):

> $ man sh | col -b | expand | sed -ne '/^HISTORY/,/^$/{/^$/q;p}'
> HISTORY
>      dash is a POSIX-compliant implementation of /bin/sh that aims to be as
>      small as possible.  dash is a direct descendant of the NetBSD version of
>      ash (the Almquist SHell), ported to Linux in early 1997.  It was renamed
>      to dash in 2002.

That name standing, in fact, for Debian Almquist SHell.

Debian (and also Ubuntu) policy drove a process of debugging system
scripts to eliminate bashisms several releases ago, paving the way for
correcting the sloppy system architecting error that Linux distros had
fallen into since early days, of assuming a shebang reference to /bin/sh
would always provide bash -- which was never a justifiable assumption.

Fixing that policy failure allowed Debian system scripts (starting with
Debian 6 'squeeze' and Ubuntu 6.10 in 2006) to run a lot faster, in less
RAM, and with fewer security concerns.  RHAT-based distros were slower
to adopt the fix.  I _think_ they eventually got there, but won't swear
to it.

Naturally, it's always feasible to invoke /bin/bash in the shebang if
that specific shell's greater feature set is actually needed -- which is
what should have been done all along.  (Doubtless, somewhere there's a
distro so perverse that it uses Paul Falstad's zsh as its
system-scripting shell process.  ;->  )

Kenneth Almquist's shell was a pretty much exact BSD reimplementation of
all features of the classic System V R4 Bourne shell _and no others_,
except without AT&T cooties on it.




More information about the conspire mailing list