LDBASH(1)

πŸ“¦
version 0.9.11 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– LDBASH(1) πŸ’–

the dynamic loader for libbash(7) libraries, but make it cute ✨

this one lives in the LOCAL manual section, bestie β€” say hi to ldbash 🫢


✨ NAME ✨

ldbash β€” dynamic loader for libbash(7) libraries. iconic behavior, no cap πŸ’…


🌸 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 πŸ¦‹

okay so. ldbash is your bestie for messing with libbash(7) libraries. its whole main-character job is loading a specific library. but it also does the side quests: it can print the list of available libraries, list the functions each library exports, unload functions, etc. multi-talented fr fr πŸ’œ

and listen β€” when you use --load and --unload, the output is meant to be passed to the bash eval command. that's the whole point. it's giving "here's your homework, go run it" 😭


πŸŽ€ Options πŸŽ€

  • -h | --help β€” prints the options summary. your little cheat sheet, bestie πŸ“
  • -l | --list β€” shows you the list of available libraries. and the library names it prints? you can pass those as parameters to other ldbash invocations. so the workflow is literally: run ldbash --list to see what's available, then load it. girlboss pipeline ✨
  • -L | --load lib,[lib] ... β€” loads the libraries you name, i.e. it prints the string that should be passed to the eval command. usually that string contains various source commands.

libraries that the given libraries depend on are also loaded. πŸ’–

but heads up: libraries only load if their dependencies are satisfied. dependencies get resolved using the ldbash.cache file, which is created by ldbashconfig(8). no cache, no vibes 🫢

  • -U | --unload lib,[lib] ... β€” unloads the libraries you name, but not their dependencies. πŸ‘‘

the output should be passed to the eval command, in the same manner as with --load. πŸ™ˆ

  • -e | --externlist lib,[lib] ... β€” lists all the symbols that are exported by the given libraries. symbols are usually functions that the given libraries implement. show me what you're serving πŸ’…
  • --externlist-all β€” lists all exported symbols of all available libraries. symbols are usually functions that the library implements. the whole menu, bestie 🌈
  • -i | --internlist lib,[lib] ... β€” lists all internal symbols (i.e. global variables/functions) of the given libraries. this one is mostly for developers who want to develop a library of their own and want to be sure they don't override any already defined symbol. dev girlies, this is for you 🧚
  • --internlist-all β€” lists all internal symbols of all available libraries. this is intended mostly for developers who want to develop a library of their own, and want to be sure that they don't override any already defined symbol. πŸ’€

πŸ“ FILES πŸ“

  • /etc/ldbash.cache β€” the cache file that contains info about library dependencies and the list of exported symbols. see ldbashconfig((8)) for further details. it's the receipts folder, basically πŸŽ€

πŸ’€ BUGS πŸ’€

the script can't load libraries if their file name starts with -. so if someone uses file names that start with a -, he/she deserves it! 😭 not us being dramatic, that's literally in the manual.

ok but fr, don't name your library -library. the script will simply not have a good time and neither will you. πŸ™ˆ

πŸ‘‘ AUTHORS πŸ‘‘

  • Hai Zaar <haizaar@gmail.com>
  • Gil Ran <gil@ran4.net>

shoutout to the legends who built this πŸ’œ


🌈 SEE ALSO 🌈

libbash(7), ldbashconfig(8)

go read those too, bestie, iykyk ✨


and that's the whole page, periodt πŸ’… this one's from the Linux source, and the date on it is UNDATED (yes really, undated, it's giving mysterious πŸ¦‹), filed under LDBASH(1). mwah, go load some libraries πŸ«ΆπŸ’–βœ¨

πŸ“¦ where this page comes from