{"id":19607021,"url":"https://github.com/codemedic/bash-pack","last_synced_at":"2026-04-11T21:31:49.092Z","repository":{"id":146670779,"uuid":"82816257","full_name":"codemedic/bash-pack","owner":"codemedic","description":"Bash scripts library","archived":false,"fork":false,"pushed_at":"2017-05-01T22:51:56.000Z","size":26,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-09T09:25:57.912Z","etag":null,"topics":["bash","library","logging","semver","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codemedic.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":"2017-02-22T14:51:40.000Z","updated_at":"2022-09-03T20:10:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"62dbc80b-1c5a-488b-bc51-711f0eaa76af","html_url":"https://github.com/codemedic/bash-pack","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemedic%2Fbash-pack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemedic%2Fbash-pack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemedic%2Fbash-pack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemedic%2Fbash-pack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codemedic","download_url":"https://codeload.github.com/codemedic/bash-pack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240894909,"owners_count":19874890,"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","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":["bash","library","logging","semver","unit-testing"],"created_at":"2024-11-11T10:08:25.021Z","updated_at":"2025-10-18T07:43:13.896Z","avatar_url":"https://github.com/codemedic.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bash Pack\n\n\u003e **Current status**: Work in progress; most of the functionality is tested and safe to use. Lacks documentation.\n\nA set of curated bash formula, ready to consume. It provides a simplistic module loading with dependency management and support for loading variants of modules based on bash version.\n\n## Modules\n\nBelow are the current set of modules provided. For information on functions provided by each of them, please have a look inside.\n\n\u003e *NOTE*: The function documentation is similar to what is [prescribed by google](https://google.github.io/styleguide/shell.xml?showone=Function_Comments#Function_Comments), but in a minimised form.\n\u003e\n\u003e *Example:*\n\u003e ```\n\u003e # Check major version of bash to be at least a given number\n\u003e #\n\u003e # Arguments:\n\u003e #   1. major_version version to check against\n\u003e #\n\u003e # Returns:\n\u003e #   0 if greater than or equal to major_version, otherwise 1\n\u003e is_bash_version() {\n\u003e ...\n\u003e }\n\u003e ```\n\n * [array](array.sh)\n * [logging](logging.sh)\n * [misc](misc.sh)\n * [namespaced-variables](namespaced-variables.sh)\n * [posix-mode](posix-mode.sh)\n * [semver](semver.sh)\n * [string](string.sh)\n * [validate](validate.sh)\n \n#### Other\n * [init](init.sh)\n\n## Examples\n\n * [Logging; how to?](examples/logging.sh)\n\n## Contributing\n\nBug reports, feature requests, commentary, and pull requests; they all count. Please do feel free to fork and make changes.\n\nIf you would like your changes to be merged back, please follow the below basic rules.\n\n * All major changes must be accompanied by an issue. For typos and trivial updates, I am happy to over look that.\n * All changes must pass a [shellcheck](https://www.shellcheck.net/).\n * More documentation the merrier; especially functions. If they are hard to use, do provide an example.\n * All changes must be accompanied by appropriate tests.\n * All changes must be bash 3.2+ compatible.\n \n   \u003e *I dont have access to bash 3.2+; how do I test it?*\n   \u003e\n   \u003e A Linux distro version to ship with v3.2 is CentOS 5. You can use a VM or docker to perform these tests. If you choose the latter, the formula to run can be.\n   \u003e\n   \u003e ```text\n   \u003e docker run --rm -it \\\n   \u003e     -v $(pwd):/bash-pack \\\n   \u003e     -w /bash-pack \\\n   \u003e     centos:5 sh /bash-pack/run-tests.sh\n   \u003e ```\n   \n   \n\n## License\n\n[MIT License](LICENSE.md)\n\nCopyright (c) 2017 Dino Korah\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemedic%2Fbash-pack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodemedic%2Fbash-pack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemedic%2Fbash-pack/lists"}