Automic VaultAutomic Vault

brew

Install gnu-getopt with Homebrew, zypper, Nix

Command-line option parsing utility. Version 2.42.2 via Homebrew; verified 2026-06-16.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install gnu-getopt

local Homebrew formula metadata

Linux

openSUSE zypperverified · 92%
sudo zypper install gnu-getopt

openSUSE Tumbleweed package metadata · gnu-getopt · source: download.opensuse.org

Nixverified · 92%
nix profile install nixpkgs#getopt

nixpkgs package indexes · pkgs/by-name/ge/getopt/package.nix · source: api.github.com

overview

Package summary

Command-line option parsing utility

Commands and aliases

  • getopt

history

Project history and usage

`gnu-getopt` packages util-linux's enhanced `getopt(1)` command, a shell-facing option parser that uses GNU `getopt(3)` behavior and is commonly installed separately where the base system ships a less capable `getopt`.

Project history

The upstream project is util-linux, described by its README as a collection of Linux utilities. util-linux carried the name util-linux-ng from 2006 through 2010, then continued under the util-linux name with kernel.org as the primary source location and GitHub as a backup web interface.

The util-linux NEWS file records `getopt` updates in the 2.11 and 2.13 development era, including replacement with getopt 1.1.3 by Frodo Looijaard and an update to 1.1.4. The man page identifies the command as the enhanced `getopt`, focused on parsing command options for shell procedures.

Adoption history

As part of util-linux, enhanced `getopt` is part of the broad Linux userland toolbox. On macOS, Homebrew packages it as `gnu-getopt` and marks it keg-only because macOS provides BSD `getopt`; on Linux, the formula also avoids conflict with the full util-linux package. That packaging split is the main reason the Homebrew package name differs from the upstream project name.

How it is used

Practitioners use `getopt` in shell scripts to normalize short and long options, detect invalid arguments, preserve whitespace through shell quoting, and test whether the enhanced implementation is present. The `-T` probe is explicitly documented for distinguishing this implementation from older `getopt(1)` variants.

Why package nerds care

The package matters because option parsing is a portability trap in shell scripts. Installing `gnu-getopt` gives macOS and other non-GNU environments the util-linux behavior many Linux-oriented scripts expect, while Homebrew's keg-only status prevents accidental replacement of the system utility.

Timeline

  • 2001-era util-linux 2.11z: NEWS records replacement with getopt 1.1.3 by Frodo Looijaard.
  • 2007: util-linux-ng 2.13-pre6 NEWS records update to getopt 1.1.4.
  • 2006-2010: util-linux project used the util-linux-ng name.
  • 2026: util-linux README described kernel.org as primary repository and GitHub as backup.

Related projects

  • GNU `getopt(3)` supplies the parsing behavior used by util-linux `getopt(1)`.
  • BSD `getopt` is the system utility that Homebrew avoids shadowing on macOS.
  • util-linux is the upstream userland utility collection that contains the command.

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for gnu-getopt. Nucleus package metadata is still published here so future coverage has a stable package URL.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 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
getoptcliglobal 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-08
manager version2.42.2
manager updated2026-06-16
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/util-linux/util-linux

install metadata

Package metadata

Package keybrew:gnu-getopt
Version2.42.2
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/gnu-getopt
Homepagehttps://github.com/util-linux/util-linux
Repositoryhttps://github.com/util-linux/util-linux
Upstream docshttps://github.com/util-linux/util-linux/blob/master/misc-utils/getopt.1.adoc
LicenseGPL-2.0-or-later
Source archivehttps://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.gz
Last updated2026-06-16T16:47:43Z
Pulseupdated
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namegnu-getopt
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyyes
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.

zypper95%

gnu-getopt 1.0.14-2.7

Java getopt Implementation

https://www.urbanophile.com/arenn/hacking/download.html

sudo zypper install gnu-getopt
  • License: LGPL-2.1-or-later
  • Category: Development/Libraries/Java
  • Architecture: noarch
  • Source Package: gnu-getopt
  • 1 provides
  • normalized package name match
  • Matched by: Gnu Getopt
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: gnu-getopt from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

gnu-getopt-javadoc 1.0.14-2.7

Javadoc for gnu.getopt

https://www.urbanophile.com/arenn/hacking/download.html

sudo zypper install gnu-getopt-javadoc
  • License: LGPL-2.1-or-later
  • Category: Development/Libraries/Java
  • Architecture: noarch
  • Source Package: gnu-getopt
  • 1 provides
  • normalized package name match
  • Matched by: Gnu Getopt
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: gnu-getopt-javadoc from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
Nix92%

getopt

nix profile install nixpkgs#getopt
  • installed executable or alias match
  • Matched by: Getopt
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ge/getopt/package.nix from https://api.github.com/repos/NixOS/nixpkgs/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

  • Nucleus package database
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment