Projects / Heirloom Bourne Shell

Heirloom Bourne Shell

The Heirloom Bourne Shell is a portable variant of the traditional Unix shell. It is especially suitable for testing the portability of shell scripts and for processing legacy scripts. The Bourne shell does not provide as many features as newer Unix shells, but it does provide a stable shell language. With this in mind, it is also suitable for general script processing and interactive use. This variant of the Bourne shell has been derived from OpenSolaris code and thus provides the SVR4/SVID3 level of the shell.

Tags
Licenses
Operating Systems
Implementation

Recent releases

  •  06 Jul 2005 13:46

    Release Notes: Spell checking for the "cd" command is now optionally available. The job control code has been fixed to allow commands like "(cat a; cat b) | cat". Job control now works on FreeBSD. Locales are now also enabled on platforms without a "/usr/lib/locale" directory. The manual page has been enhanced.

    •  21 Jun 2005 11:40

      Release Notes: The "ulimit" command now works portably; using it could previously crash the shell on some platforms. A manual page has been added. The shell now also compiles on HP-UX, AIX, and Tru64 Unix. Shell accounting with the SHACCT mechanism has been enabled.

      •  17 Jun 2005 10:26

        Release Notes: The "kill -n" and "read" commands were broken in the first release and have been fixed. Temporary files for here documents are now always only readable by the invoking user. The "read -r" and "umask -S" commands have been added, as well as the "TIMEOUT" variable. Various fixes for specific system environments were also made.

        •  15 Jun 2005 08:48

          No changes have been submitted for this release.

          Recent comments

          16 Aug 2006 08:36 LordFalcon

          Re: When to use this rather than bash?
          That was a sad exchange...

          There are MANY MANY reasons NOT to use bash. I'll count the 2 most common which are ussualy important for stuff like init scripts and others. The question here is not why use it instead of bash but why use it instead of any other posix sh :)

          a) low resource usage
          b) speed

          17 Jun 2005 07:10 gritter

          Re: When to use this rather than bash?


          > You mean the one that "doesn't deal with

          > [...] bash"?

          It sometimes makes sense to read more than the

          first sentence of a complex document.

          17 Jun 2005 07:04 walles

          Re: When to use this rather than bash?

          There are enough texts that explain
          incompatibilities
          between the Bourne shell and newer
          shells, to start
          with; Google perhaps helps you to find
          them if you do
          not want to follow the link at the
          bottom of the home
          page.

          You mean the one that "doesn't deal with [...] bash" (http://www.in-ulm.de/~mascheck/bourne/)?

          Simply suppose
          that it is for experts only.

          I will. I'd better stay away from it then. Have fun with your project.

          17 Jun 2005 06:29 gritter

          Re: When to use this rather than bash?


          %> This is explained on the project web

          %> page.

          >

          > No, it's not.

          Just get a clue of the subject you are talking about.

          There are enough texts that explain incompatibilities

          between the Bourne shell and newer shells, to start

          with; Google perhaps helps you to find them if you do

          not want to follow the link at the bottom of the home

          page.

          > I still don't understand

          Nobody forces you to use this project. Simply suppose

          that it is for experts only.

          17 Jun 2005 05:58 walles

          Re: When to use this rather than bash?
          This is explained on the project web page.


          No, it's not.


          According to Google, bash is mentioned only once at heirloom.sf.net, in a changelog entry that doesn't explain when Heirloom is preferrable to bash.


          The bulleted list at the front page says basically:


          * Heirloom can be used for script portability testing. This could potentially be an answer to my question, although if you really want your script to work on a certain kind of shell, you'd have to test it there anyway. Half a point.

          * "Processing of legacy scripts" without any evidence that bash couldn't do this as well. Zero points.

          * The shell scripting language lacks a lot of features. This is a feature!? Minus one point. If people doesn't want to use bash features, they can still use bash instead of Heirloom.

          * The shell lacks command line editing features. This is a feature!? Minus yet another point. If people doesn't want to use bash features, they can still use bash instead of Heirloom.

          Also, I give you minus half one more point for not mentioning bash. That sums up to minus two points for that explanation.


          I still don't understand why anybody would prefer this to bash, as bash is a superset of Heirloom AFAICT.

          Screenshot

          Project Spotlight

          OpenStack4j

          A Fluent OpenStack client API for Java.

          Screenshot

          Project Spotlight

          TurnKey TWiki Appliance

          A TWiki appliance that is easy to use and lightweight.