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.
```rust use std::process::Command;
use runcmd::RunCmd;
RunCmd::new("echo \"Hello World\"").execute();
```
verbose() will print the ins and outs to stdout
rust
RunCmd::new("echo \"Hello World\"")
.verbose()
.execute();
shell() sets the executor to run the command in a shell using the underlying Execute::shell rather than Execute::command.
rust
RunCmd::new("echo \"Hello World\"")
.shell()
.execute();
executep() runs the command, without returning anything, but panics if the command doesn't succeed. Useful in only the most trival circumstances.
rust
RunCmd::new("echo \"Hello World\"")
.shell()
.executep();
execute() runs the command, returning a RunCmdOutput.
rust
let retval: RunCmdOutput = RunCmd::new("echo \"Hello World\"").execute();
It returns the following.
rust
pub struct RunCmdOutput {
pub cmd: String,
pub stdout: String,
pub stderr: String,
pub exitcode: i32
}