/sinister

A cross-platform shell script installer.

Primary LanguageShellBSD 2-Clause "Simplified" LicenseBSD-2-Clause

sinister

Sinister is a simple, robust installer for your shell scripts.

Features

  • Cross platform: Works on both Unix and Windows
  • chmods your script so it's executable from the get-go
  • Adds your script to $PATH so you can use it right away
  • Install-free: Your user doesn't need to install anything (besides your script)
  • Supports both per-user and machine-wide installation
  • Can use Wget or cURL as its backend
  • Customizable and easily overridable behavior

Usage

Copy and paste this into your project's README:

To install <my awesome script>, run

sh <(curl -sSL http://git.io/sinister) -u http://url.to/your/script

Alternatively, if you're targeting systems that don't have Bash/cURL installed, you can use this instead:

wget -q -O - http://git.io/sinister | sh -s -- -u http://url.to/your/script

Sinister is written in pure sh, so it's completely fine without Bash.

How do I control the output location of Sinister?

Specify the -o and -n options:

sinister -o output/dir -n file.name

How do I install my script for just the current user?

sinister --local

Can I change the mode my script is chmodded with?

Yes, you can. Pass in the --chmod flag:

sinister --chmod 755

Examples

Here are some example projects that use Sinister:

  • bomr, a UTF-8 BOM autoremover
  • gid, an automator for common Git commands

Contributing

Contributors are welcome! Please feel free to report bugs or make pull requests to this repo.

License

Sinister is licensed under the BSD simplified license.