{"id":13567473,"url":"https://github.com/gavinlyonsrepo/bashmultitool","last_synced_at":"2025-06-23T06:37:15.111Z","repository":{"id":98596813,"uuid":"116493370","full_name":"gavinlyonsrepo/bashmultitool","owner":"gavinlyonsrepo","description":"A library  for bash shell scripting containing useful  helper functions. ","archived":false,"fork":false,"pushed_at":"2022-09-22T14:40:01.000Z","size":358,"stargazers_count":96,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-15T09:53:20.024Z","etag":null,"topics":["bash","bash-hacks","bash-library","bash-script","bash-scripting","cli","color","colour","library","linux","multitool","print","script","scripts","shell","shell-script","shell-scripts","terminal","tui","unix"],"latest_commit_sha":null,"homepage":"https://gavinlyonsrepo.github.io/","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/gavinlyonsrepo.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":"2018-01-06T15:24:11.000Z","updated_at":"2025-04-14T15:08:14.000Z","dependencies_parsed_at":"2023-05-06T16:31:15.624Z","dependency_job_id":null,"html_url":"https://github.com/gavinlyonsrepo/bashmultitool","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/gavinlyonsrepo/bashmultitool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2Fbashmultitool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2Fbashmultitool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2Fbashmultitool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2Fbashmultitool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gavinlyonsrepo","download_url":"https://codeload.github.com/gavinlyonsrepo/bashmultitool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2Fbashmultitool/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261430516,"owners_count":23157160,"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","bash-hacks","bash-library","bash-script","bash-scripting","cli","color","colour","library","linux","multitool","print","script","scripts","shell","shell-script","shell-scripts","terminal","tui","unix"],"created_at":"2024-08-01T13:02:32.364Z","updated_at":"2025-06-23T06:37:10.077Z","avatar_url":"https://github.com/gavinlyonsrepo.png","language":"Shell","readme":"[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/paypalme/whitelight976)\n\nOverview\n--------------------------------------------\n* Name: bashMultiTool\n* Description: \n\nA Bash Shell library file for commonly used functions\ncan be imported into shell scripts to create functional and colorful \nscripts and Terminal users interfaces(TUI).\nThe library allows user to redefine commonly used functions every time you write a shell script, the library may save a part of the development time.\n\n* Author: Gavin Lyons\n* GNU bash: version 5.1.16\n\nTable of contents\n---------------------------\n\n  * [Installation](#installation)\n  * [Usage](#usage)\n  * [Software](#software)\n  * [Example](#example)\n  \nInstallation\n-----------------------------------------------\n\n**Linux debian based systems built on Ubuntu 22.04 LTS (Jammy Jellyfish)**\n \nA Personal Package Archives (PPA) has been created on Ubuntu\npackage building and hosting section of launchpad site \ncalled bashmultitool.\n\nTo install this on your system run commands in terminal\n\n```sh\nsudo add-apt-repository ppa:typematrix/bashmultitool\nsudo apt update\nsudo apt install bashmultitool\n```\n\n**Arch based System** \n\nPackage available in the Arch Linux user repo AUR\n\n**For other linux systems**\n\nDownload latest fixed release and run the makefile as per \nterminal commands below for version 2.1 latest release at time of writing\nNote: If you install with this method you will not be informed of updates \nby system.\n\n```sh\ncurl -sL https://github.com/gavinlyonsrepo/bashmultitool/archive/2.1.tar.gz | tar xz\ncd  bashmultitool-2.1\nsudo make install\n```\n\nUsage\n-------------------------------------------\n\nSource the library functions from your bash shell scripts like so:\n\n```sh\nLIBPATH=\"/usr/lib/bashmultitool/\"\nfor MYFILE in \"$LIBPATH\"*;\ndo\n\tsource \"$MYFILE\"\ndone\n```\n\nTo access library functions from your shell scripts type:\n\n```sh\n# [function-name] [keyword] [options]\n# eg\n\nbmtPrintFunc b_red \"Hello World\"\n ```\n\nSoftware\n-----------------------------------------\n\nEight separate markdown help files with detailed information, \nin documentation folder are available.\nFor shortcut to each help file click on link in 2nd table below. \nA script to print library meta data is also installed.\n\n| Installed File Path | Description |\n| ------ | ------ |\n| /usr/bin/bashmultitool | Script to print library meta data |\n| /usr/lib/bashmultitool/bashmultitool/*  | 8 library files see next table|\n| /usr/lib/bashmultitool/doc/README.md   | readme  |  \n| /usr/lib/bashmultitool/doc/bmt*.md | 8 Documentation files see next table | \n\n| Library file | Function | Sections | Content | Doc link |\n| ---- | ---- | ---- | ---- | ---- |\n|  bmtPrint | bmtPrintFunc | 101 | Printing text | [bmtPrint help file](documentation/bmtPrint.md)|\n|  bmtPrompt | bmtPromptFunc | 201-210 | Prompts | [ bmtPrompt help file](documentation/bmtPrompt.md)|\n|  bmtNetwork  | bmtNetworkFunc  | 301-302 | Network related | [bmtNetwork help file](documentation/bmtNetwork.md)|\n|  bmtLinux | bmtLinuxFunc | 401-408 | Linux related | [bmtLinux help file](documentation/bmtLinux.md)|\n|  bmtFiles | bmtFilesFunc | 501-510 | File related | [bmtFiles help file](documentation/bmtFiles.md)|\n|  bmtData | btmDataFunc | 601-607 | Data related | [bmtData help file](documentation/bmtData.md)|\n|  bmtTime | btmTimeFunc | 701-710 | Time related | [bmtTime help file](documentation/bmtTime.md)|\n|  bmtMisc  | bmtMiscFunc  | 801-806 | Miscellaneous | [bmtMisc help file](documentation/bmtMisc.md)|\n|  bmtTest  | bmtTestFunc  | 901 |  internal library test | [bmtTest help file](documentation/bmtTest.md)|\n\nThe library contains eight section's, Each section has one file with one function. \nWhich contains 54 sub-sections in total.\nThe sections are grouped per logical function.\nPrinting, prompting, Linux related, file related, \ndata related, time related , network related and miscellaneous.\nThe sections are mostly independent of each other\nyou can source them individually if you wish, however the prompt file *is* \ndependent on print. There is also  a ninth test section bmtTest used to test library.\n\nThe repo also contains a *test folder* where a test file used in development are available, one function for each library file. The test file \"testTest.sh\", runs an semi-automated test on entire library and produces a report.  Pass the test file a number between 1-9 , 1-8 correspond to the sections, 9 will test entire library. \n\nExample\n----------------------------\n\nOutput of basic example file in example folder, showing basic usage.\n\n![ScreenShot](https://raw.githubusercontent.com/gavinlyonsrepo/bashmultitool/master/documentation/screenshot/example.png)\n\nOutput report of test script testTest.sh.\n\n![ScreenShot](https://raw.githubusercontent.com/gavinlyonsrepo/bashmultitool/master/documentation/screenshot/test.png)\n","funding_links":["https://www.paypal.com/paypalme/whitelight976"],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinlyonsrepo%2Fbashmultitool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgavinlyonsrepo%2Fbashmultitool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinlyonsrepo%2Fbashmultitool/lists"}