pkg.soopen package index

brew / rank 4201

Install bashdb with Homebrew, MacPorts, Nix

Bash shell debugger. Version 5.2-1.2.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#bashdb.

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 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.

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
bashdbexecutableindexed 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.2-1.2.0
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:bashdb
Version5.2-1.2.0
Package managerHomebrew
Homepagehttps://bashdb.sourceforge.net/
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%

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