# 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

```sh
sudo av install brew:etsh
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install etsh
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install etsh
```

  Evidence: MacPorts ports tree: shells/etsh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:etsh
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/etsh>
- **Version:** 5.4.0
- **Source summary:** Two ports of /bin/sh from V6 UNIX (circa 1975)
- **Homepage:** <https://etsh.dev/>
- **Repository:** <https://etsh.dev/anoncvs>
- **Upstream docs:** <https://etsh.dev/doc>
- **License:** BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND LicenseRef-Homebrew-public-domain
- **Source archive:** <https://etsh.dev/src/etsh_5.4.0/etsh-5.4.0.tar.xz>
- **Generated:** 2026-07-26T07:20:29+00:00

## Executables

- etsh (cli)
- sh6 (cli)
- etsh (alias)
- sh6 (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-26
- Package-manager version: 5.4.0
- Local data: ok
- Upstream repository: https://etsh.dev/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## 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.

### Sources

- <https://etsh.dev/>
- <https://etsh.dev/about/>
- <https://etsh.dev/anoncvs/>
- <https://etsh.dev/usage/>
- <https://etsh.dev/man/_etsh.1.html>
- <https://v6sh.org/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** etsh
- **Version Scheme:** 1
- **Revision:** 0
- **Conflicts With:** oils-for-unix, omake, teleport
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- MacPorts - etsh: normalized package name match | MacPorts ports tree: shells/etsh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Matched curated package taxonomy and local package facts.
- [dash-shell](https://www.automicvault.com/pkg/brew/dash-shell/) - Shares av.db curated category or tags: cli, posix, shell, system, unix.
- [yash](https://www.automicvault.com/pkg/brew/yash/) - Shares av.db curated category or tags: cli, posix, shell, system, unix.
- [bash](https://www.automicvault.com/pkg/brew/bash/) - Shares av.db curated category or tags: cli, shell, system, unix.
- [execline](https://www.automicvault.com/pkg/brew/execline/) - Shares av.db curated category or tags: cli, posix, shell, system.
- [nq](https://www.automicvault.com/pkg/brew/nq/) - Shares av.db curated category or tags: cli, shell, system, unix.
- [nsh](https://www.automicvault.com/pkg/brew/nsh/) - Shares av.db curated category or tags: cli, posix, shell, system.
- [posh](https://www.automicvault.com/pkg/brew/posh/) - Shares av.db curated category or tags: cli, posix, shell, system.
- [tcsh](https://www.automicvault.com/pkg/brew/tcsh/) - Shares av.db curated category or tags: cli, shell, system, unix.

## Combined YAML source

View the package source record on GitHub. [combined/etsh.yml](https://github.com/automic-vault/db/blob/main/combined/etsh.yml)


## Sources

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