/Shell

Sync & async shell API written in Swift with complete test coverage.

Primary LanguageSwiftOtherNOASSERTION

Shell (🥚)

Shell is a simple package that gives you the ability to call shell commands through Swift.

Usage

Run (sync):

import Shell

let output = try Shell().run("ls ~")

Run (async):

import Shell

Shell().run("sleep 2 && ls ~") { result, error in
    //...
}

Shell (bash) with environment variables:

import Shell

let shell = Shell("/bin/bash", env: ["ENV_SAMPLE_KEY": "Hello world!"])
let out = try shell.run("echo $ENV_SAMPLE_KEY")

You can even set custom ouptut & error handlers.

Install

Just use the Swift Package Manager as usual:

.package(url: "https://github.com/GothStar/shell", from: "1.1.0"),

⚠️ Don't forget to add "Shell" to your target as a dependency!

License

WTFPL - Do what the fuck you want to.