Awesome Open Source
Awesome Open Source

SHML v.1.1.0

Build Status

SHML is a shell framework for faster and easier script development.


HTML has CSS, terminals have "ANSI/VT100 Control Sequences". SHML makes is easy to apply some style to your shell scripts without trying to remember that Yellow = \033[33m instead Yellow is $(color yellow).

1-liner Install

# Unix-like
$ sudo bash -c 'curl -L -o /usr/local/bin/shml && chmod +x /usr/local/bin/shml'

# Homebrew
$ brew install shml

# npm
$ npm install -g shml


You can just download SHML without installing it...


$ git clone


$ wget


In order to use SHML you must tell your shell environment where it is located. Lets assume that we are writing a BASH script and want to use SHML.

If you installed in using the 1-liner above you would do:

#!/usr/bin/env bash
source $(which shml)

If you downloaded SHML using git or wget you would do:

#!/usr/bin/env bash
source ./


#!/usr/bin/env bash
source "$(which shml)"

echo "
$(fgcolor red)
This will make the text red...
$(fgcolor end)

View all examples:


Contributions are more than welcome. Before submitting ANY new features please read the Contribution Guidelines.

To report any bugs or if you have a feature request feel free to open an issue.

Updating The Docs

Updating the docs requires Ruby/Jekyll to generate & view locally.

Run once:

$ cd docs/
$ gem install bundler
$ bundle install

Generate and serve:

$ bundle exec jekyll s --watch

Then go to: http://localhost:4000/shml/

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Shell (232,179
Bash (6,994
Icons (1,903
Bash Script (1,861
Emojis (250
Ansi Colors (152
Related Projects