2 releases
0.1.1 | Dec 20, 2022 |
---|---|
0.1.0 | Dec 20, 2022 |
#2374 in Parser implementations
9KB
121 lines
RunCmd
This library is used for extending Execute
which is extending Command
in order to execute commands more easily. Especially made for simple shell commands returning an exit code as a number, stdout and stderr as strings.
Usage
use std::process::Command;
use runcmd::RunCmd;
RunCmd::new("echo \"Hello World\"").execute();
verbose
verbose() will print the ins and outs to stdout
RunCmd::new("echo \"Hello World\"")
.verbose()
.execute();
shell
shell() sets the executor to run the command in a shell using the underlying Execute::shell rather than Execute::command.
RunCmd::new("echo \"Hello World\"")
.shell()
.execute();
executep
executep() runs the command, without returning anything, but panics if the command doesn't succeed. Useful in only the most trival circumstances.
RunCmd::new("echo \"Hello World\"")
.shell()
.executep();
execute
execute() runs the command, returning a RunCmdOutput.
let retval: RunCmdOutput = RunCmd::new("echo \"Hello World\"").execute();
It returns the following.
pub struct RunCmdOutput {
pub cmd: String,
pub stdout: String,
pub stderr: String,
pub exitcode: i32
}
Dependencies
~0.5–1MB
~23K SLoC