{"id":24745785,"url":"https://github.com/sylordis/bash-library","last_synced_at":"2026-02-13T08:52:00.777Z","repository":{"id":161465386,"uuid":"365223471","full_name":"Sylordis/bash-library","owner":"Sylordis","description":"A repo of useful bash scripts and libraries that I've been creating through the years","archived":false,"fork":false,"pushed_at":"2025-03-28T00:19:45.000Z","size":327,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T01:25:52.025Z","etag":null,"topics":["animations","bash","bash-library","productivity","shell","terminal"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sylordis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-07T12:17:17.000Z","updated_at":"2025-03-28T00:19:50.000Z","dependencies_parsed_at":"2023-11-15T11:27:59.185Z","dependency_job_id":"46f50471-5a48-4975-9fe5-8b9b4cfa7e8e","html_url":"https://github.com/Sylordis/bash-library","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sylordis/bash-library","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sylordis%2Fbash-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sylordis%2Fbash-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sylordis%2Fbash-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sylordis%2Fbash-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sylordis","download_url":"https://codeload.github.com/Sylordis/bash-library/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sylordis%2Fbash-library/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004062,"owners_count":26083667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animations","bash","bash-library","productivity","shell","terminal"],"created_at":"2025-01-28T03:29:41.417Z","updated_at":"2025-10-10T13:32:19.390Z","avatar_url":"https://github.com/Sylordis.png","language":"Shell","readme":"# bash-library\n\nA repo of useful libraries that I've been creating through the years to make bash scripting duties easier.\n\n(Yes, I know, `zsh` exists and all, but its not the point, feel free to adapt).\n\nMost of those scripts are kept up-to-date at various times but I try to maintain it to date with latest bash versions.\n\nEach proposed library has its own documentation, read it carefully before using them.\n\n## What you can find here\n\n- executables destined to help use this library.\n- libraries (to be sourced).\n- packages (to be sourced).\n- some completion scripts (incl. for *some* previous items listed, to be sourced).\n- animation scripts (to be sourced).\n  - ... and launchers for those animations to have a preview and how to use them (kind of).\n- utility scripts (incl `debug.sh` and bash unit testing framework).\n- Third party software helpers (`tools-lib`) to add extra commands to them or ease their use (to  be sourced).\n- some wild bash tests to be kept for information and posterity.\n- some miscellaneous tools.\n\n## Dependencies and sourced files\n\nAll scripts dependencies are written down in their documentation.\n\nSome scripts are sourcing some other files from this library, making them unusable as-is, but you can use the tool `package_scripts.sh` to compile a standalone version.\n\nAll scripts that have sourced files are taking them from this library, and this library only, but using the defined variables from the profiles provided in the `bin` directory.\nPlease check the [usage section](#usage) for more information.\n\n## Detailed structure\n\n- `bin` executables to help using this repo.\n  - `animations` executables to showcase the animation source files.\n- `man` manual pages.\n- `src` directory containing all source files. None of them are executables.\n  - `animation` bash animations in order to prettify waiting for other processes.\n  - `awk` awk source files\n  - `completion` completion files for some `lib` or `packages`.\n  - `lib` core source files of this library, each file contains a method of the same name and maybe some quality-of-life shortcuts.\n  - `packages` core source files of this library for frameworks and bigger libraries that contain more than one method.\n- `test` unit tests for the source files (libs and packages in `src`).\n- `tools` random tools for every day life as executables. Some can use sources from this repo.\n- `tools-lib` sources for quality of life regarding every day CLI softwares.\n- `utils` utilitaries files that are used in this repo. This is where you can find the `debug.sh` script which helps you dumping bash variables.\n- `wild` wild bash tests for posterity and bash/console behaviours.\n\n## Development and testing\n\nEverything in the libraries and packages has been unit tested (as much as one can with bash) and can be checked from the `./bin/launcher.sh`.\n\nAll development and testing is done using Cygwin, give me a shout if something is not working on standard Linux platforms (feel free to open an issue).\n\n## Usage\n\n- File `launcher.sh` allows to run all/some unit tests or get the list.\n- File `source_libs.sh` allows to source all libs and completion files.\n- `.launcher_profile` (and its `safe` counterpart) allow to dynamically create environment variables to use all libs in this repo.\n  - The `safe` version prevents from overriding your own environment, but does not output any error. It is sourced in both `launcher.sh` and `source_libs.sh` files.\n\nA small excerpt from my `.bashrc` to use this repo:\n\n```sh\nexport SH_PATH=~/scripts/main\nsource \"$SH_PATH/bin/source_libs.sh\"\n\nalias reload='source ~/.bashrc'\nalias bashtest='$SH_PATH/bin/launcher.sh'\n```\n\n## Help\n\nEach file should have its own documentation and some man pages are being created (when time allows).\n\n## Author \u0026 contributors\n\nThe only contributor and author is [Sylvain \"Sylordis\" Domenjoud](https://github.com/Sylordis).\n\n## License\n\nThis project is distributed under the [DBAD license](https://dbad-license.org/).\n\n## Bug report\n\nPlease report any bug you find at [bash-library repo issues](https://github.com/Sylordis/bash-library/issues).\n\nHave fun, stay scripty!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsylordis%2Fbash-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsylordis%2Fbash-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsylordis%2Fbash-library/lists"}