https://github.com/dynamotn/dybatpho
My library for bash utility methods and tools
https://github.com/dynamotn/dybatpho
bash bash-script dybatpho library utility
Last synced: 3 months ago
JSON representation
My library for bash utility methods and tools
- Host: GitHub
- URL: https://github.com/dynamotn/dybatpho
- Owner: dynamotn
- License: wtfpl
- Created: 2025-02-07T07:00:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-18T07:28:50.000Z (about 1 year ago)
- Last Synced: 2025-04-18T21:33:21.897Z (about 1 year ago)
- Topics: bash, bash-script, dybatpho, library, utility
- Language: Shell
- Homepage:
- Size: 106 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# dybatpho

[](https://coveralls.io/github/dynamotn/dybatpho?branch=main)
[](https://github.com/dynamotn/dybatpho/actions/workflows/ci.yaml)
[](https://github.com/dynamotn/dybatpho/releases/latest)
> **dybatpho** โ A powerful collection of bash functions to help you build scripts efficiently, quickly, and maintainably!
---
## ๐ Why choose **dybatpho**?
- **Save time:** A curated set of the most popular & useful functions for working with Bash scripts.
- **Easy integration:** Flexibly use as a submodule, subtree, or manual clone.
- **Battle-tested:** Used in many projects, personal dotfiles, and in real CI/CD workflows.
- **Extensible:** Easily add your own modules or customize to fit your needs.
- **Community-driven:** Always open to feedback, suggestions, and PRs from everyone.
## ๐ What is `dybatpho`?
`dybatpho` is a portmanteau of `ฤi bรกt phแป` - meaning "to wander and explore", just like this repo helps you discover and use handy bash functions freely and flexibly.
# โก๏ธ Quick Start
1. **Add `dybatpho` to your project** (pin the version if needed):
- **Submodule:**
```sh
git submodule add --depth 1 https://github.com/dynamotn/dybatpho.git
git submodule update --remote
```
- **Subtree:**
```sh
git subtree add --prefix main --squash < path > https://github.com/dynamotn/dybatpho.git
git subtree pull --prefix main --squash < path > https://github.com/dynamotn/dybatpho.git
```
- **Manual clone** (for CI/CD, etc.):
```sh
git clone https://github.com/dynamotn/dybatpho.git
```
2. **Source the logic you need:**
```sh
# Source the initialization script
. < path-to-dybatpho > /init.sh
```
> See more [example scripts](example/) or real-world usage in [my dotfiles](https://github.com/dynamotn/dotfiles).
## ๐ Directory Structure
```
.
โโโ doc/ # Module documentation
โ โโโ *.md # Usage guides & Reference for each module
โ โโโ spec/ # Module specifications and design docs
โโโ example/ # Example scripts for users
โโโ scripts/ # Helper scripts (test, doc generation, etc.)
โโโ src/ # Source code of modules
โโโ test/ # Unit tests
โโโ init.sh # Initialization script, **must be sourced first**
```
## ๐ Contents & Featured Modules
- [array.sh](doc/array.md) โ Array manipulation
- [string.sh](doc/string.md) โ String operations
- [text.sh](doc/text.md) โ Multi-line text formatting
- [logging.sh](doc/logging.md) โ Easy logging
- [helpers.sh](doc/helpers.md) โ Miscellaneous utilities
- [process.sh](doc/process.md) โ Process management
- [network.sh](doc/network.md) โ Network utilities
- [date.sh](doc/date.md) โ Date and timestamp helpers
- [json.sh](doc/json.md) โ JSON and YAML helpers
- [file.sh](doc/file.md) โ File operations
- [archive.sh](doc/archive.md) โ Archive create/extract/list helpers
- [table.sh](doc/table.md) โ Plain-text and Markdown table rendering
- [cli.sh](doc/cli.md) โ CLI building support
## ๐ฏ Usage Example
```sh
# Using the log function
. dybatpho/init.sh
dybatpho::register_err_handler
dybatpho::info "Greetings from dybatpho!"
```
See more at [example/](example/).
## ๐ฌ Contribution & Support
- Open an Issue or Pull Request if you'd like to suggest ideas, fix bugs, or contribute new modules!
- All feedback and contributions are welcome.
---
**Get started with dybatpho now to optimize your workflow and save time with your Bash scripts!**