Crate easy_process
source · [−]Expand description
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
// 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");
Structs
Holds the output for a giving easy_process::run
Enums
Error variant for easy_process::run
.
Functions
Runs the given command
Runs command with access to it’s stdin.
Type Definitions
Result alias with crate’s Error value