cmd!() { /* proc-macro */ }Expand description
A macro for building commands.
§Generating a simple command
To generate a std::process::Command, the program and additional arguments can be passed to
the macro.
§Example
The invocation:
let cmd = cmd!("ls", "-a", "/");expands to:
let cmd = {
let mut cmd = ::std::process::Command::new("ls");
cmd.arg("-a");
cmd.arg("/");
cmd
};§Generating a piped command
To generate a PipeCommand, multiple programs and arguments seperated by => can be passed
to the macro.
§Example
The invocation:
let pipe_cmd = cmd!("ls" => "grep", "test" => "wc", "-l");expands to:
let pipe_cmd = ::procmd::PipeCommand::new([
{
let mut cmd = ::std::process::Command::new("ls");
cmd
},
{
let mut cmd = ::std::process::Command::new("grep");
cmd.arg("test");
cmd
},
{
let mut cmd = ::std::process::Command::new("wc");
cmd.arg("-l");
cmd
},
]);