Automic VaultAutomic Vault

brew

Install etsh with Homebrew, MacPorts

Two ports of /bin/sh from V6 UNIX (circa 1975). Version 5.4.0 via Homebrew; verified from local package data. Also installable with macports: sudo port install etsh.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install etsh

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install etsh

MacPorts ports tree · shells/etsh/Portfile · source: api.github.com

overview

Package summary

Two ports of /bin/sh from V6 UNIX (circa 1975)

Commands and aliases

  • etsh
  • sh6

history

Project history and usage

Etsh is a historical Unix shell package that maintains two ports of the Thompson shell from Sixth Edition Unix: an enhanced interactive-compatible shell named etsh and an unenhanced port named tsh. It is packaged less as a mainstream login shell and more as a living, buildable preservation of early Unix shell behavior.

Project history

The project is explicitly dedicated to preserving the Version 6 Unix `sh(1)` lineage. Its sources trace back to the Thompson shell, principally written by Ken Thompson at Bell Labs, with related V6 utilities such as glob, if, and goto included because they were part of the shell's practical command-file environment.

Jeffrey Allen Neitzel has maintained the etsh project since July 2003. The project keeps the historical interface available while adding enough portability and interactive-shell improvements for modern POSIX-like systems.

Adoption history

Etsh's adoption is niche and heritage-oriented rather than mass-market. Official project notes emphasize successful builds on DragonFly BSD, FreeBSD, macOS, NetBSD, OpenBSD, OpenIndiana, and GNU/Linux, and the package appears in Unix-like ports systems for users who want the V6 shell experience on modern machines.

How it is used

Users run etsh or tsh as command interpreters, either interactively or for scripts that fit the V6 shell model. The usage guide frames the shells as a way to do useful work with a small shell plus classic Unix pipelines and external tools such as awk, expr, grep, and sed.

Why package nerds care

Etsh matters to package nerds because it is both software and executable computing history. Installing it through a package manager gives modern systems a maintained port of a pre-Bourne-shell command language, complete with the companion utilities needed for authentic behavior.

It is also a reminder that shell packaging is not just about default user shells: small historical interpreters need careful source provenance, licensing, manpages, and installation paths so they can coexist with modern `/bin/sh` implementations.

Timeline

  • 1975: Sixth Edition Unix shipped with the Thompson shell as `/bin/sh`.
  • 1979: Seventh Edition Unix replaced the Thompson shell with the Bourne shell, while retaining the older shell as `osh`.
  • 2003: Jeffrey Allen Neitzel became principal developer and maintainer of the etsh project.
  • 2019: Etsh 5.4.0 manual pages documented the maintained ports and their V6 shell lineage.

Related projects

  • tsh is the unenhanced Thompson shell port shipped by the same project, while glob, if, goto, and fd2 provide supporting shell functionality.
  • The V6 Sh History site and TUHS source materials provide historical context for the original Thompson shell and related Unix manuals.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 13 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
etshcliglobal executable
sh6cliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-26
manager version5.4.0
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://etsh.dev/

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://etsh.dev/none confidence

install metadata

Package metadata

Package keybrew:etsh
Version5.4.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/etsh
Homepagehttps://etsh.dev/
Repositoryhttps://etsh.dev/anoncvs
Upstream docshttps://etsh.dev/doc
LicenseBSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND LicenseRef-Homebrew-public-domain
Source archivehttps://etsh.dev/src/etsh_5.4.0/etsh-5.4.0.tar.xz
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameetsh
Version Scheme1
Revision0
Conflicts With
  • oils-for-unix
  • omake
  • teleport
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

MacPorts95%

etsh

sudo port install etsh
  • normalized package name match
  • Matched by: Etsh
MacPorts ports tree · api.github.com · MacPorts ports tree: shells/etsh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment