V6 Thompson Shell Port provides two ports of the original /bin/sh from Sixth Edition (V6) UNIX (circa 1975).
Osh is an enhanced, backward-compatible port of the Sixth Edition Thompson shell. This project also includes sh6 (an unenhanced port of the shell) and glob6 (a port of its global command).
Together, sh6 and glob6 provide a user interface which is backward compatible with that provided by the Sixth Edition Thompson shell and global command, but without the obvious enhancements found in osh.
The original Thompson shell was principally written by Ken Thompson of Bell Labs.
Additionally, this project includes the following shell utilities:
* if - conditional command (ported from Sixth Edition UNIX)
* goto - transfer command (ported from Sixth Edition UNIX)
* fd2 - redirect from/to file descriptor 2
The looptest utility is packaged separately. It provides a simple way to script count-controlled shell loops.
The osh project also has a Gophersite.
The Thompson shell's command language is rather minimal when compared with more recent UNIX shells. However, since the Thompson shell initially set the stage for basic UNIX-shell functionality, all standard, commonly used, current UNIX shells still have a great deal in common with it
What's New in This Release: [ read full changelog ]
· This version changes the osh exit status for alias and unalias so that they exit with a false (1) status when there are no aliases to print, set, or unset.
· Otherwise, they exit with a true (0) status when there is no error.
· It adds 'version' as an osh special built-in command, replacing the previous 'version' alias found in examples/dot.oshrc.
· It changes the _XOPEN_SOURCE definition from 600 to 600L in mkconfig.
· It also adds DEBUG_ALIAS, DEBUG_GLOB, and DEBUG_PROC definitions (undefined by default) to err.h for printf debugging.