easy_process

Crates.ioeasy_process
lib.rseasy_process
version0.2.1
sourcesrc
created_at2018-06-01 13:49:09.514986
updated_at2022-03-21 13:56:14.632972
descriptionEasy to use process runner
homepagehttps://github.com/otavio/easy-process-rs
repositoryhttps://github.com/otavio/easy-process-rs
max_upload_size
id68073
size33,863
Jonathas Conceição (Jonathas-Conceicao)

documentation

https://docs.rs/easy_process

README

Coverage Status Documentation

easy_process

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

Platform Build Status
Linux build status
macOS build status
Windows build status

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");

Commands on windows are also supported in the same way:

let output = easy_process::run(r#"powershell /C 'echo "1 2 3 4"'"#)?;
assert_eq!(&output.stdout, "1 2 3 4\r\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.

Commit count: 64

cargo fmt