Skip to content
Run programs as functions in Elixir
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
lib
test
.editorconfig
.gitignore
.travis.yml
README.md
UNLICENSE
VERSION
mix.exs

README.md

Sh

Build Status

Support via Gratipay

An Elixir module inspired by Python's sh package. Sh allows you to call any program as if it were a function.

Adding Sh to Your Project

To use Sh with your projects, simply edit your mix.exs file and add it as a dependency:

  defp deps do
    [{:sh, "~> 1.1.2"}]
  end

Example

iex> Sh.echo "Hello World!"
"Hello World!\n"

Options

Sh commands accept as the last argument a list of options.

Sh.curl "http://example.com/", o: "page.html", silent: true
""

The equivalent call without using this feature would be:

Sh.curl "-o", "page.html", "--silent", "http://example.com/"

Underscores

Underscores in a program name or keyword options are converted to dashes.

You can’t perform that action at this time.