8 releases

0.1.7 Mar 23, 2020
0.1.6 Oct 15, 2018
0.1.5 Sep 18, 2018
0.1.3 Jun 7, 2018

#3 in #run

Download history 150/week @ 2019-12-10 66/week @ 2019-12-24 14/week @ 2019-12-31 86/week @ 2020-01-07 27/week @ 2020-01-14 9/week @ 2020-01-21 75/week @ 2020-01-28 11/week @ 2020-02-04 8/week @ 2020-02-11 53/week @ 2020-02-18 37/week @ 2020-02-25 123/week @ 2020-03-03 97/week @ 2020-03-10 133/week @ 2020-03-17 76/week @ 2020-03-24

247 downloads per month

MIT/Apache

8KB
89 lines

Build Status Documentation

easy_process

Allow running external commands and properly handle its success and failures.

This creates provides a run function that does inline parsing of literal command line strings (handling escape codes and splitting at whitespace) and checks the ExitStatus of the command. If it didn't succeed they will return a Err(...) instead of a Ok(...).

Note that the provided functions do return their own Output struct instead of std::process::Output.

Example

use easy_process;

// stdout
let output = easy_process::run(r#"sh -c 'echo "1 2 3 4"'"#)?;
assert_eq!(&output.stdout, "1 2 3 4\n");

// stderr
let output = easy_process::run(r#"sh -c 'echo "1 2 3 4" >&2'"#)?;
assert_eq!(&output.stderr, "1 2 3 4\n");

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~85KB