15 releases (7 stable)
1.1.2 | Mar 16, 2024 |
---|---|
1.1.1 | Nov 9, 2021 |
1.0.2 | Aug 29, 2021 |
0.13.0 | Sep 8, 2020 |
0.9.0 | Sep 5, 2020 |
#275 in Development tools
807 downloads per month
Used in 4 crates
(2 directly)
17KB
291 lines
command-run
Rust library for running a command in a subprocess.
This library is a thin wrapper around the std::process::Command
type with a few additional convenient features:
- Print or log the command before running it
- Optionally return an error if the command is not successful
- Optionally combine stdout and stderr
- Optionally print the command's output if the command fails
- The command can be formatted as a command-line string
- The
Command
type can be cloned and its fields are public
Dependencies and features
-
log
- this is an optional dependency. It can be disabled by turning off thelogging
feature:command-run = { version = "*", default-features = false }
-
os_pipe
- this dependency is used to implementcombine_output
.
Example
// This will return an error if the command did not exit successfully
// (controlled with the `check` field).
let output = Command::with_args("echo", &["hello", "world"])
.enable_capture()
.run()?;
assert_eq!(output.stdout_string_lossy(), "hello world\n");
Dependencies
~0–6.5MB
~35K SLoC