Automic VaultAutomic Vault

brew

Install bashdb with Homebrew, MacPorts, Nix

Bash shell debugger. Version 5.2-1.2.0 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install bashdb

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install bashdb

MacPorts ports tree · devel/bashdb/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#bashdb

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

overview

Package summary

Bash shell debugger

Commands and aliases

  • bashdb

history

Project history and usage

BASH Debugger, usually packaged as bashdb, is a source-level debugger for Bash scripts. Its own README describes it as a debugger for Bash 5.2 and later, with older repository branches supporting older Bash releases, and says its command syntax follows the zsh debugger, the Trepan family of debuggers, and GNU gdb.

Project history

The project grew out of earlier work to make Bash itself expose enough line, source-file, call-stack, and command information for a real debugger. The NEWS file describes an initial release of something worthy of being called a debugger after earlier ksh/bash debuggers lacked reliable line reporting through loops, conditionals, functions, and sourced files.

BashDB's release history tracks the Bash runtime closely: first public releases targeted Bash 2.x-era debugging support, version 3.00 was the first release for Bash 3.0 in 2004, the 4.0 series was a major rewrite for Bash 4.0 in 2008, and later branches followed Bash 4.1, 4.2, 4.3, 4.4, 5.0, 5.1, and 5.2.

Adoption history

The THANKS file records distribution and platform work from packagers for Cygwin, SuSE RPMs, Debian, and NetBSD, as well as Emacs, JetBrains, and VS Code integration work. The README also links a Repology packaging badge, reflecting its long life as a small but widely packaged Unix developer tool.

BashDB has been useful where shell programs became large enough to need breakpoints, stepping, stack traces, and debugger command files, especially generated configure scripts and complex administrative shell code.

How it is used

The README documents three entry points: running a script under `bash --debugger`, invoking the `bashdb` executable directly, or sourcing debugger support from inside a running script and entering the debugger lazily. It also documents command-file and tty setup for debugging configure scripts whose stdin is closed.

The debugger exposes gdb-like commands for breakpoints, stepping, stack inspection, display/watch expressions, command history, aliases, tty control, source listing, and conditional breakpoints.

Why package nerds care

BashDB is package-nerd significant because it is one of the rare tools that treats shell scripts as debuggable programs rather than disposable glue. It also mirrors a classic packaging pattern: separate branches and release lines track interpreter ABI and behavior changes across Bash versions.

Its history is a reminder that debugger support often depends on cooperation from the language runtime. The project credits Chet Ramey and Bash changes that made call stacks, source lines, and command tracking practical.

Timeline

  • 2003: Early 0.x releases add gdb-like commands, DDD and Emacs support, call-stack handling, and Bash debugger patches.
  • 2004: Version 3.00 0.01 is released as the first Bash 3.0 release.
  • 2008: Version 4.0-0.1 is a major rewrite for Bash 4.0 and adds aliases, autoeval, shunit2 tests, and improved Emacs support.
  • 2010: Version 4.1-0.4 changes the startup file from `.bashdbinit` to `$HOME/.bashdbrc` and requires Bash 4.1 or later.
  • 2019: Version 5.0-0.1.1.0 revises the debugger for Bash 5.0.
  • 2020s: The bash-5.2 branch documents Bash 5.2-and-newer support while older branches support older Bash releases.

Related projects

  • The README explicitly relates BashDB to zshdb, the Trepan debuggers, and GNU gdb. The THANKS file also names shunit2 for tests and points to Emacs dbgr work after older bundled Emacs Lisp was removed.

security posture

Risk level: red

escape, surveillance, or offensive capability signal. generalized runtime or code generation signal.

Risk classifier

red risk · medium confidence · escape-surveillance-offensive

Why

  • escape, surveillance, or offensive capability signal
  • generalized runtime or code generation signal

Signals

  • text:debugger
  • text:shell

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

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

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
~/.bashdbrc<project>/.bashdbrc

executables

Installed executables

CommandKindExposureNote
bashdbcliglobal 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 version5.2-1.2.0
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://bashdb.sourceforge.net/

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

install metadata

Package metadata

Package keybrew:bashdb
Version5.2-1.2.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/bashdb
Homepagehttps://bashdb.sourceforge.net/
Repositoryhttps://github.com/Trepan-Debuggers/bashdb
Upstream docshttps://bashdb.readthedocs.io/
LicenseGPL-2.0-or-later
Source archivehttps://downloads.sourceforge.net/project/bashdb/bashdb/5.2-1.2.0/bashdb-5.2-1.2.0.tar.bz2
Dependenciesbash
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebashdb
Version Scheme0
Revision0
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.

Nix95%

bashdb

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

bashdb

sudo port install bashdb
  • normalized package name match
  • Matched by: Bashdb
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/bashdb/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 configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment