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§
- Output
- Holds the output for a giving
easy_process::run
Enums§
- Error
- Error variant for
easy_process::run
.
Functions§
- run
- Runs the given command
- run_
with_ stdin - Runs command with access to it’s stdin.
Type Aliases§
- Result
- Result alias with crate’s Error value