which version of shell?

Charles Hedrick hedrick at athos.rutgers.edu
Wed Sep 7 07:30:59 AEST 1988


I've been watching the discussion about shell flavors for some time
now, and have come to the conclusion that there's more difference
between different implementations in the same family than between the
families, at least for interactive use.  Lots of people who said "we
switched from X to Y and would never think of using X again" were
using an outdated version or substandard port of X, whereas the newest
version of X had the critical feature that they found in Y.  Csh under
System V gets a particularly bad deal, since all the System V ports
that I've seen are missing all the features that make csh interesting.
Bill Joy should sue people for defamation of character when they
produce ports of csh that don't support job control.  (Yes, it is
possible under SVr2 or later.)  Ksh and a csh with line editing have
essentially the same set of features:

  - recognition of file names
  - emacs editing of command lines
  - job control

Each has its advantages, which overall seem to balance out:

for ksh or sh with similar features added
  vi editing as well as emacs
  job control for any System V that supports sxt's (though you
	need patches from me to make it usable).
  the semantics (particularly quoting, but there are some other
	things as well) are cleaner for writing scripts.

for csh with line editing (often called tcsh)
  you can change key bindings in the emacs line editor (omitting this
	from ksh was intentional, by the way -- the problem is that
	for performance reasons on System V you need to keep the size
	of the data segment down, so Korn didn't want the necessary
	data structures.  We have agreed on a design that will have
	a satisfactorily small impact, but I haven't had a chance to
	implement it, and may never...)
  {}
  at least in our version, there's a compromise mode that lets you
	get line editing only when you want it (ESC at the beginning
	of a line invokes the line editor on the previous line)
  ksh is getting so many features in it that Unix purists are
	beginning to retch when they look at the manual



More information about the Comp.unix.wizards mailing list