{"id":16881022,"url":"https://github.com/patrickduncan/shunc","last_synced_at":"2025-06-11T07:37:30.439Z","repository":{"id":83643391,"uuid":"145245304","full_name":"PatrickDuncan/shunc","owner":"PatrickDuncan","description":"A universal utility library for shell scripting","archived":false,"fork":false,"pushed_at":"2018-11-18T03:56:25.000Z","size":26,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T22:49:19.564Z","etag":null,"topics":["posix","posix-compatible","posix-compliant","posix-sh","shell","utility","utility-library"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PatrickDuncan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-08-18T18:57:24.000Z","updated_at":"2019-01-13T09:29:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"c9ad1b22-41de-4189-8b75-e4a55b5a048f","html_url":"https://github.com/PatrickDuncan/shunc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PatrickDuncan%2Fshunc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PatrickDuncan%2Fshunc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PatrickDuncan%2Fshunc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PatrickDuncan%2Fshunc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PatrickDuncan","download_url":"https://codeload.github.com/PatrickDuncan/shunc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332525,"owners_count":20921852,"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":["posix","posix-compatible","posix-compliant","posix-sh","shell","utility","utility-library"],"created_at":"2024-10-13T16:00:50.406Z","updated_at":"2025-04-05T11:44:34.430Z","avatar_url":"https://github.com/PatrickDuncan.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# shunc\n\n[![Build Status](https://travis-ci.org/PatrickDuncan/shunc.svg?branch=master)](https://travis-ci.org/PatrickDuncan/shunc)\n\nThe goal of this library is to make shell scripting easier for everyone. Your shell of preference should not matter!\n\nThis script will not change the state of your variables. Meaning that if a function needs to declare a variable it will save the previous value and reset the variable's value after execution.\n\n## Installation\n\n1. Generate the script:\n```\n./bin/generate\n```\n2. The script will be in _dist_, move it into your own project.\n3. Add this to the beginning of your script:\n```\n. \u003cPath_To_New_Location\u003e/shunc\n```\n\n## Examples\n\n```sh\n#!/bin/sh\n\n. $HOME/dev/password_check/lib/shunc\n\n[ \"$(_length $1)\" -gt 8 ] \u0026\u0026 echo PASS || echo FAIL\n```\n\n## Documentation\n\nYou can find documentation for the various functions on the [wiki](https://github.com/PatrickDuncan/shunc/wiki).\n\n## Linting\n\n```\ndocker run -e SHELLCHECK_OPTS=\"-e SC1091\" -v \"$PWD:/mnt\" koalaman/shellcheck \u003cPath_To_File\u003e\n```\n\n## Testing\n\n##### Prerequisite(s)\n\n* Follow [Retrieve all submodules](#retrieve-all-submodules)\n\n##### All tests\n```\n./bin/run_tests\n```\n##### Single test\n```\nsh \u003cPath_To_Test\u003e\n```\n\n### Submodules\n\n##### Retrieve all submodules\n```\ngit submodule update --remote --recursive --init\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickduncan%2Fshunc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrickduncan%2Fshunc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickduncan%2Fshunc/lists"}