pub fn execute_parse_result<T, TArg, TEnvKey, TEnvVal, TError>(
cmd: impl AsRef<OsStr>,
args: impl IntoIterator<Item = TArg>,
envs: impl IntoIterator<Item = (TEnvKey, TEnvVal)>,
) -> Result<T, TError>Expand description
Executes command with args and environment variables, parses output
- On invalid command: return error
- On error exit code: return error
- On parsing failure: return error
- Possible errors: ProcessNotSpawned, WaitFailed, ProcessFailed, NonUtf8Stdout, ParsingError
Designed for
use shellfn::shell;
use std::error::Error;
#[shell]
fn command() -> Result<u32, Box<Error>> {
"echo -n 42"
}
assert_eq!(42, command().unwrap())