LinuxCommandLibrary

basher

TLDR

Install a package from GitHub

$ basher install [username/repository]
copy
List installed packages
$ basher list
copy
Uninstall a package
$ basher uninstall [username/repository]
copy
Update a package
$ basher upgrade [username/repository]
copy
Update all packages
$ basher upgrade --all
copy
Link a local package for development
$ basher link [path/to/directory] [package_name]
copy
Initialize basher in shell config
$ basher init
copy
Show package information
$ basher package-path [username/repository]
copy

SYNOPSIS

basher command [arguments]

DESCRIPTION

basher is a package manager for shell scripts hosted on GitHub and other git repositories. It installs shell scripts and makes their commands available in your PATH without manual downloading or symlinking.
Packages are installed to ~/.basher/cellar and linked to ~/.basher/bin. The package format expects executables in bin/ or the root directory, with optional man pages and completions.
Basher supports packages from GitHub, GitLab, Bitbucket, or any git URL. It handles dependencies declared in package.json and can work with bash, zsh, and other shells.

PARAMETERS

install package

Install a package from repository.
uninstall package
Remove an installed package.
list
Show all installed packages.
upgrade package
Update a specific package.
upgrade --all
Update all installed packages.
link directory name
Link local directory as package.
unlink name
Remove linked package.
init
Output shell initialization code.
commands package
List commands provided by a package.
package-path package
Show installation path.
outdated
List packages with available updates.

CAVEATS

Requires git for package installation. Shell configuration must source basher init output. Packages without proper structure may not work correctly. No built-in security verification; review package code before installing from untrusted sources. Works best with packages specifically designed for basher.

HISTORY

Basher was created by Juan Ibiapina in 2013 as a simple package manager for bash scripts, inspired by tools like Homebrew and rbenv. It aimed to solve the problem of sharing and distributing shell scripts without complex installation procedures. The project remains actively maintained as an open-source tool on GitHub.

SEE ALSO

bash(1), bpkg(1), git(1), brew(1)

Copied to clipboard