pkg.soopen package index

brew / rank 13140

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 bottle metadata was recorded.

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
etshexecutableindexed executableDiscovered from the local executable index.
sh6executableindexed executableDiscovered from the local executable index.

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-08-03
manager version5.4.0
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:etsh
Version5.4.0
Package managerHomebrew
Homepagehttps://etsh.dev/
Bottlenot recorded
Servicenone declared

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
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation