---
name: "ldbash"
section: "1"
platform: "linux"
package: "libbash"
version: "0.9.11-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ldbash"
---

# ldbash(1)

Dynamic loader for libbash(7) libraries.

## NAME

**ldbash** – Dynamic loader for [libbash(7)](/libbash/7.md) libraries.

## SYNOPSIS

**ldbash** \[**-h** \| **--help**\]

**ldbash** \[**-l** \| **--list**\]

**ldbash** \[**-L** \| **--load** *lib,\[lib\]* *...*\]

**ldbash** \[**-U** \| **--unload** *lib,\[lib\]* *...*\]

**ldbash** \[**-e** \| **--externlist** *lib,\[lib\]* *...*\]

**ldbash** \[**--externlist-all**\]

**ldbash** \[**--i** \| **--internlista** *lib,\[lib\]* *...*\]

**ldbash** \[**--internlist-all**\]

## DESCRIPTION

**ldbash** is used to manipulate  [libbash(7)](/libbash/7.md) libraries. Its main function is to load specific library. It can also print list of available libraries, list functions each library exports, unload functions, etc.

In case of  **--load** and **--unload** ,the output is intended to be passed to bash  *eval* command.

## Options

- **-h** \| **--help**

  Print options summary

- **-l** \| **--list**

  Display list of available libraries. The libraries names listed, may be passed as parameters to other invocations of  **ldbash**. I.e. first you run  **ldbash** **--list** to see what is available and then you may load it.

- **-L** \| **--load** *lib,\[lib\]* *...*

  Load given libraries - i.e. print string that should be passed to  *eval* command.  Usually the string contains various  *source* commands.

  Libraries that given libraries depend on are also loaded.

  Libraries only loaded if their dependencies are satisfied. Dependencies are resolved using  *ldbash.cache* file, which is created by  [ldbashconfig(8)](/ldbashconfig/8.md).

- **-U** \| **--unload** *lib,\[lib\]* *...*

  Unload given libraries, but  *not* their dependencies.

  The output should be passed to  *eval* command (in the same manner as with **--load** ).

- **-e** \| **--externlist** *lib,\[lib\]* *...*

  List all symbols that are exported by given libraries. Symbols are usually functions that given libraries implement.

- **--externlist-all**

  List all exported symbols of all available libraries. Symbols are usually functions that library implement.

- **-i** \| **--internlist** *lib,\[lib\]* *...*

  List all internal symbols (i.e. global variables/functions) of given libraries. This is intended mostly for developers that want to develop library of their own, and want to be sure that they don't override any already defined symbol.

- **--internlist-all**

  List all internal symbols of all available libraries. This is intended mostly for developers that want to develop library of their own, and want to be sure that they don't override any already defined symbol.

## FILES

- */etc/ldbash.cache*

  Cache file that contains information about libraries dependencies and list of exported symbols. See ldbashconfig((8)) for further details.

## BUGS

The script can't load libraries if their file name starts with ‘-’. (If someone uses file names that start with a  ‘-’ he/she deserves it!)

## AUTHORS

Hai Zaar ⟨haizaar@gmail.com⟩ Gil Ran ⟨gil@ran4.net⟩

## SEE ALSO

[libbash(7)](/libbash/7.md), [ldbashconfig(8)](/ldbashconfig/8.md)
