Skip to content

Sugar-coating for invoking shell commands directly from Rust.

Notifications You must be signed in to change notification settings

Proksima/shells

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shells for Rust

Wrapper around std::process::Command which make the use of Rust for shell scripting more appealing.

License: MPL 2.0 Travis Build Status

Documentation

http://proksima.github.io/shells-doc/shells/index.html

Simple example

#[macro_use]
extern crate shells;

fn main() {
    let (code, stdout, stderr) = sh!("echo '{} + {}' | bc", 1, 3);

    assert_eq!(code, 0);
    assert_eq!(&stdout[..], "4\n");
    assert_eq!(&stderr[..], "");
}

A mnemotechnic to remember the ordering of the elements in the resulting tuple is the positions of stdout and stderr, they correspond to the standard streams numbers: 1 and 2 respectively.

If I a missing your favorite (at least partially) POSIX-compliant shell, submit a pull request!

About

Sugar-coating for invoking shell commands directly from Rust.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages