[−][src]Function shellfn::execute_vec_result_panic
pub fn execute_vec_result_panic<T, TArg, TEnvKey, TEnvVal, TError, impl AsRef, impl IntoIterator - , impl IntoIterator
- >(
cmd: impl AsRef,
args: impl IntoIterator- ,
envs: impl IntoIterator
) -> Result<Vec<T>, TError> where
T: FromStr,
TArg: AsRef<OsStr>,
TEnvKey: AsRef<OsStr>,
TEnvVal: AsRef<OsStr>,
TError: From<Error<<T as FromStr>::Err>>,
impl AsRef: AsRef<OsStr>,
impl IntoIterator- : IntoIterator<Item = (TEnvKey, TEnvVal)>,
impl IntoIterator- : IntoIterator<Item = TArg>,
<T as FromStr>::Err: Error,
Executes command with args and environment variables, parses output line by line, returns after reading whole output
- On invalid command: return error
- On error exit code: return error
- On parsing failure: panic
- Possible errors: ProcessNotSpawned, WaitFailed, ProcessFailed
Designed for
use shellfn::shell; use std::error::Error; #[shell] fn command() -> Result<Vec<u32>, Box<Error>> { "echo 1; echo 2; echo 3" } assert_eq!(vec![1, 2, 3], command().unwrap().collect::<Vec<_>>())