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
git
command and organize them under$SHELP_ROOT
directory.shelp
treat them as packages - Add any executable files in a package into
$PATH
whenshelp
installs it - Load any shell script in a package easily by
include
function 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
git
command
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 shelp
Download 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/shelp
Run the following:
go get github.com/progrhyme/shelp
Go 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.