(etsh logo | link list | etsh signify key)

Description - V6 Thompson Shell Ports

Welcome to Etsh (V6Sh) !

The Etsh Project provides 2 ports of the original /bin/sh from V6 UNIX, May 1975. "/bin/sh from V6 UNIX" == "V6 Thompson sh(1)" == "V6 UNIX sh(1)", or a variation of "V6 sh(1)" || "V6 Sh" || "V6Sh" =^)

Etsh(1) is an enhanced, backward-compatible port of the V6 UNIX <-> V6 Thompson shell. Tsh(1) is an unenhanced port of it, and Glob(1) is a port of its global command. Together, tsh & glob provide a user interface which is backward compatible with that provided by the V6 Thompson shell & global command, but without the obvious enhancements found in etsh.

The original Thompson shell was principally written by Ken Thompson of Bell Labs.

Each port (etsh & tsh) also includes the following shell utilities:

  • if(1) - conditional command (ported from V6 UNIX)
  • goto(1) - transfer command (ported from V6 UNIX)
  • fd2(1) - redirect from/to file descriptor 2

They are built into etsh and are external for tsh. In both cases, these utilities are required for each shell to be a completely functional port.

I, , develop and maintain this project, and I sign releases & snapshots of it with the signify key pair declared on the Etsh Signify Key page.

Etsh (V6Sh) also has a gopher hole or space at gopher://etsh.nl/1/.

For those interested in UNIX history, this Link List may prove useful.


Sources contains the latest release of etsh (see below), older releases, and etsh-current development (information & downloads).

Please contact me if you have any comments or questions about this software. Bug reports are certainly welcome, but please try upgrading to the latest release before reporting any bug as it may have already been fixed.


The Thompson shell's command language is a predecessor and subset of that found in the Bourne shell and C shell. The Thompson shell's external utilities complement the basic functionality of its command language. Since the Thompson shell initially set the stage for basic UNIX-shell functionality, all modern UNIX shells still have a great deal in common with it.

The Thompson shell supports command pipelines (constructed with | or ^), both sequential commands (;) and asynchronous commands (&), I/O redirection (<, >, >>), globbing (*, ?, [...]), and parameter substitution ($1, $2, $3) among other things.

The NOTES file contains further information about these ports of the shell. In addition, here are some example shell scripts (aka command files) which may help to illustrate some of their capabilities. Last but not least, here are some Example RC Files, which may help the user wishing to use etsh interactively, better understand how to configure the shell and its environment.


with a story about the Etsh Logo, via the following link, if you wish..

=^) I'd like to share a story about the Etsh Logo if I may .. I hope you enjoy it ... (^=