macro_rules! cmd { { exe: $exe:literal, env: $env:expr, pwd: $pwd:expr, msg: $msg:literal$(,)? } => { ... }; { exe: $exe:literal, env: $env:expr, pwd: $pwd:expr, msg: Some($msg:expr)$(,)? } => { ... }; { exe: $exe:literal, env: $env:expr, pwd: $pwd:expr, msg: None$(,)? } => { ... }; { exe: $exe:literal, env: $env:expr, pwd: $pwd:expr, msg: $msg:expr$(,)? } => { ... }; { exe: $exe:expr, env: $env:expr, pwd: $pwd:expr, msg: $msg:literal$(,)? } => { ... }; { exe: $exe:expr, env: $env:expr, pwd: $pwd:expr, msg: Some($msg:expr)$(,)? } => { ... }; { exe: $exe:expr, env: $env:expr, pwd: $pwd:expr, msg: None$(,)? } => { ... }; { exe: $exe:expr, env: $env:expr, pwd: $pwd:expr, msg: $msg:expr$(,)? } => { ... }; { exe: $exe:literal, env: $env:expr, pwd: $pwd:expr$(,)? } => { ... }; { exe: $exe:expr, env: $env:expr, pwd: $pwd:expr$(,)? } => { ... }; }
Expand description
Convenience macro for creating a Cmd
.
Examples
General command:
ⓘ
cmd! {
exe: "rm -rf target",
env: Env::empty(),
pwd: Loc::root(),
msg: "Removing target dir",
}
Dynamically constructed command:
ⓘ
cmd! {
exe: format!("rm -rf {}", dir),
env: Env::empty(),
pwd: Loc::root(),
msg: format!("Removing {} dir", dir),
}
Command without a message:
ⓘ
cmd! {
exe: "ls",
env: Env::empty(),
pwd: Loc::root(),
}