Heirloom Project

☞ Home
☞ Toolchest
☛ Bourne Shell
☞ Documentation Tools
☞ Development Tools
☞ mailx
☞ Packaging Tools
☞ vi

The Heirloom Bourne Shell

The Heirloom Bourne Shell is a portable variant of the traditional Unix shell. It has been derived from OpenSolaris code and thus implements the SVR4/SVID3 level of the shell.

The Bourne shell is suitable for

  • script portability testing. Although the Bourne shell is not POSIX-conforming because the POSIX.2 standard introduced requirements for the shell that were incompatible with existing Bourne shell behavior, it remains the father of all Unix shell scripting languages. Most scripts that run in the Heirloom Bourne Shell will run with any Unix shell that is still in use in the twenty-first century. It is relatively easy to write shell scripts that are both POSIX-conforming and usable with the Bourne shell.
  • processing of legacy scripts. Some historical scripts did make use of language features proprietary to the Bourne shell. It can sometimes be a hard task to convert them to the portable shell language, so using a Bourne shell to run them is a convenient alternative.
  • general script processing. The Bourne shell does not provide as many features as newer Unix shells, but it is nevertheless a highly usable scripting language. Also the language of the Bourne shell has been stable for nearly twenty years now, and will remain so with this implementation. This makes the Bourne shell a no-surprises scripting language once the programmer has get accustomed to it, which cannot be said of many newer ones.
  • interactive use. The Bourne shell provides job control if it is invoked as jsh and runs on a terminal. Of course, it lacks fancy features such as a command history, command line completion, etc. But working with these features tends to distract the user's attention. After a familiarization phase, use of the Bourne shell can lead to a more even-tempered, concentrated working style. Give it a try. Seriously.

The manual page sh(1) is the reference documentation for the shell.

For installation instructions, see the README.

The list of CHANGES.

Browse the CVS repository.

Download the source code


$ cvs -d:pserver:anonymous@heirloom.cvs.sourceforge.net:/cvsroot/heirloom \
CVS password:<just type return>
$ cvs -d:pserver:anonymous@heirloom.cvs.sourceforge.net:/cvsroot/heirloom \
	co -P heirloom-sh
to retrieve a copy. Follow these instructions for more information. If you want to report a problem, please look at the CHANGES file to see if it has already been resolved,


Sven Mascheck's pages provide background information about the Bourne shell.

Gunnar Ritter <gunnarr@acm.org> 2010-06-20

SourceForge.net Logo