Projects / V6 Thompson Shell Port

V6 Thompson Shell Port

V6 Thompson Shell Port provides two ports of the original /bin/sh from Sixth Edition (V6) UNIX (circa 1975). osh is an enhanced port of the shell, and sh6 is an unenhanced port of the shell. This project also includes glob6, if, goto, and fd2 as external shell utilities. While they remain external for compatible use by sh6, these utilities are integrated into osh to improve shell performance.

Operating Systems

Recent releases

  •  11 Apr 2014 03:10

    Release Notes: In Makefile, this release changes MOXARCH to OSXCFLAGS and OSXLDFLAGS to play better with MacPorts. In osh.1, it adds a missing (+) to version in Special commands. In osh.c, it enables '.' and 'source' special built-in command execution to succeed when the user invokes the shell as 'osh -c string'.

    •  04 Dec 2013 22:33

      Release Notes: This release changes `LICENSE' to LICENSE in osh(1) and sh6(1) to match the other manual pages. It changes the `sigign' invocation in examples/FILEPREP to `trap'. Also, it adds four new aliases to examples/dot.oshrc.

      •  08 Apr 2013 18:19

        Release Notes: This release removes the deprecated $n and $s parameters from osh. It adds filenames and line numbers to diagnostic error messages when possible. Also, it renames the 'sigign' special built-in command to 'trap'. Lastly, it updates the documentation and examples as needed.

        •  15 Jun 2012 04:20

          Release Notes: This release adds a missing "commandline overflow" diagnostic to osh and sh6, adds a $# parameter (as a synonym for $n) and $? (as synonym for $s), deprecating $n and $s, adds simple shell variables, allowing the user to "set" and "unset" them, changes quoting to allow $ substitution within double (") quotes, adds "." as a synonym for "source" and enables a PATH search when opening the file for each, changes "setenv" to require a value argument, adds new operators to the built-in "if" for osh and the external "if" for sh6, and adds the new operators <, >, -eq, -ne, -gt, -ge, -lt, and -le.

          •  03 Jan 2012 16:43

            Release Notes: This release 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.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.