pkg.soopen package index

brew / rank 8710

Install oksh with Homebrew, apk, dnf, MacPorts, Nix

Portable OpenBSD ksh, based on the public domain Korn shell (pdksh). Version 7.9 via Homebrew; verified 2026-06-11. Also installable with nix: nix profile install nixpkgs#oksh.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install oksh

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install oksh

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

overview

Package summary

Portable OpenBSD ksh, based on the public domain Korn shell (pdksh)

Commands and aliases

  • oksh

history

Project history and usage

oksh is a portable version of OpenBSD `ksh(1)`, itself descended from the Public Domain Korn Shell. It packages the OpenBSD ksh experience for systems outside OpenBSD while trying to stay self-contained and portable across operating systems and C compilers.

Project history

The deeper lineage starts with pdksh. OpenBSD's `bin/ksh` README says pdksh was a mostly complete AT&T ksh look-alike, maintained by Michael Rendell after earlier maintainers Simon J. Gerraty, John R. MacMillan, and Eric Gisin. The CONTRIBUTORS file records Gisin creating pdksh from Charles Forsyth's public-domain V7 shell with pieces from the BRL shell around 1987 to 1989.

oksh turns OpenBSD's maintained ksh into a portable project. Its repository was created on 2015-01-06, and the README states that it is not an official OpenBSD project. The stated reason is simple and opinionated: all operating systems deserve a good shell.

The project is intentionally conservative about behavior. The README asks contributors to send behavior changes upstream to OpenBSD tech@ first, and says oksh will sync with upstream OpenBSD code once a patch is accepted there. Portability changes are welcome in oksh; shell semantics belong upstream.

Adoption history

oksh's adoption is mostly among users and distributors who want OpenBSD ksh outside OpenBSD. The README lists support across OpenBSD, the BSDs, macOS, glibc and musl Linux, Cygwin, Android via Termux, AIX, IBM i PASE, Solaris, Illumos, WSL, Haiku, SerenityOS, MSYS2, QNX, and more. It also records many tested C compilers, from clang and gcc to pcc, cparser, tcc, CompCert, chibicc, and other niche compilers.

Package-manager coverage is broad for a small shell. The input metadata includes apk, Homebrew, dnf, MacPorts, and Nix. Homebrew's 2026-07-01 formula API reported 121 installs over 365 days, and the upstream README links package status via Repology.

How it is used

Users install oksh when they want the OpenBSD ksh command language and interactive shell on a non-OpenBSD system. It can act as an interactive login shell or as a script interpreter for ksh-style scripts, while retaining the OpenBSD/pdksh flavor rather than tracking AT&T ksh93.

Builders use the provided `configure` script and POSIX Makefile path. The README documents native builds, out-of-tree builds, cross compilation with `--no-thanks`, optional ncurses support for screen-clearing routines, and a design goal of remaining self-contained.

Why package nerds care

oksh is significant because it is a living portability layer around a base-system shell. It gives package managers a way to ship OpenBSD ksh semantics on platforms where `/bin/ksh` may be missing, old, or from a different lineage.

Its licensing is also package-nerd-friendly but nontrivial: the main Korn shell files are public domain, while portability files are BSD or ISC licensed. Homebrew reflects that as `LicenseRef-Homebrew-public-domain AND BSD-3-Clause AND ISC`.

Timeline

  • 1987-1989: Eric Gisin created pdksh using Charles Forsyth's public-domain V7 shell as a base and parts of the BRL shell.
  • 1994-07: Michael Rendell took over pdksh maintenance, according to OpenBSD's CONTRIBUTORS file.
  • 1999-07: OpenBSD's ksh README was last updated for pdksh 5.2.14.
  • 2015-01-06: the `ibara/oksh` repository was created.
  • 2026-06-10: oksh-7.9 was published on GitHub.
  • 2026-07-01: Homebrew's formula API reported stable version 7.9.

Related projects

  • oksh is directly related to OpenBSD ksh and pdksh. It also sits near other ksh-family ports such as loksh and mksh, but oksh's packaging identity is the portable, self-contained OpenBSD ksh line.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:shell

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
okshexecutableindexed 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 version7.9
manager updated2026-06-11
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:oksh
Version7.9
Package managerHomebrew
Homepagehttps://github.com/ibara/oksh
Repositoryhttps://github.com/ibara/oksh
Last updated2026-06-11T02:00:48Z
Pulseupdated
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.

Nix95%

oksh

nix profile install nixpkgs#oksh
  • normalized package name match
  • Matched by: Oksh
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ok/oksh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk95%

oksh 7.8-r1

Portable OpenBSD ksh, based on the Public Domain KornShell (pdksh)

https://github.com/ibara/oksh

sudo apk add oksh
  • License: Public-Domain
  • Architecture: x86_64
  • Source Package: oksh
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Oksh
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: oksh from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

oksh-doc 7.8-r1

Portable OpenBSD ksh, based on the Public Domain KornShell (pdksh) (documentation)

https://github.com/ibara/oksh

sudo apk add oksh-doc
  • License: Public-Domain
  • Architecture: x86_64
  • Source Package: oksh
  • normalized package name match
  • Matched by: Oksh
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: oksh-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

oksh 7.9-2.fc45

Portable OpenBSD ksh, based on the Public Domain Korn Shell

https://github.com/ibara/oksh

sudo dnf install oksh
  • License: LicenseRef-Fedora-Public-Domain AND ISC AND BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: oksh
  • 4 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Oksh
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: oksh from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst
MacPorts95%

oksh

sudo port install oksh
  • normalized package name match
  • Matched by: Oksh
MacPorts ports tree · api.github.com · MacPorts ports tree: shells/oksh/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