Crate easy_process

Source
Expand description

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

PlatformBuild Status
Linuxbuild status
macOSbuild status
Windowsbuild 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

// 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