shelp is a Git-based package manager for shell scripts written in Go.
With shelp, you can do the followings:
- Install any git repositories reachable with
gitcommand and organize them under$SHELP_ROOTdirectory.shelptreat them as packages - Add any executable files in a package into
$PATHwhenshelpinstalls it - Load any shell script in a package easily by
includefunction bundled inshelp - Manage what packages to be installed and how by the configuration file; and install them at once
- Specify any git branch or tag or commit hash for a package to install
- OS: Linux or macOS
gitcommand
Supported Shells:
- Bash, Zsh and most POSIX compatible shells
- fish shell
Full documentation is here: https://go-shelp.netlify.app/ .
There are several ways to install shelp :
Choose one which is suitable for you.
brew tap progrhyme/tap
brew install shelpDownload latest binary from GitHub Releases
and put it under one directory in $PATH entries.
Let's see typical commands to achieve this:
bin=/usr/local/bin # Change to your favorite path
version=0.6.0 # Make sure this is the latest
os=darwin # or "linux" is supported
curl -Lo $bin/shelp "https://github.com/progrhyme/shelp/releases/download/v${version}/shelp_${version}_${os}_x86_64"
chmod +x $bin/shelpRun the following:
go get github.com/progrhyme/shelpGo to Documentation site.
There are other tools to manage shell scripts in modular way.
Pick up some of them here.
| Software | Supported Shells |
|---|---|
| basherpm/basher | Bash, Zsh, fish shell |
| zplug | Zsh |
| bpkg | Bash |
| jorgebucaran/fisher | fish shell |
basher inspired me to implement some features in this tool.
The MIT License.
Copyright (c) 2020 IKEDA Kiyoshi.