pub struct CommandBuilder {
pub file: OsString,
pub arguments: Vec<OsString>,
/* private fields */
}Expand description
Reusable builder that passes every argument literally to the executable.
Fields§
§file: OsString§arguments: Vec<OsString>Implementations§
Source§impl CommandBuilder
impl CommandBuilder
pub fn new(file: impl Into<OsString>) -> Self
pub fn arg(self, arg: impl Into<OsString>) -> Self
pub fn args<I, S>(self, args: I) -> Self
pub fn cwd(self, path: impl Into<PathBuf>) -> Self
pub fn env(self, key: impl Into<OsString>, value: impl Into<OsString>) -> Self
pub fn envs<I, K, V>(self, variables: I) -> Self
pub fn env_remove(self, key: impl Into<OsString>) -> Self
pub fn env_clear(self) -> Self
pub fn stdout(self, mode: CommandStdio) -> Self
pub fn stderr(self, mode: CommandStdio) -> Self
pub fn stdin(self, input: StdinOption) -> Self
Sourcepub fn pipe(self, transform: impl FnOnce(Self) -> Self) -> Self
pub fn pipe(self, transform: impl FnOnce(Self) -> Self) -> Self
Apply an owned builder transformation without executing the command.
pub async fn run(&self) -> Result<CommandResult>
Sourcepub fn run_sync(&self) -> Result<CommandResult>
pub fn run_sync(&self) -> Result<CommandResult>
Execute synchronously, draining output while supplying buffered stdin.
pub async fn exit_code(&self) -> Result<i32>
Sourcepub fn shell_string(&self) -> String
pub fn shell_string(&self) -> String
Render for a POSIX shell. Running the builder itself never uses this string.
Trait Implementations§
Source§impl Clone for CommandBuilder
impl Clone for CommandBuilder
Auto Trait Implementations§
impl Freeze for CommandBuilder
impl RefUnwindSafe for CommandBuilder
impl Send for CommandBuilder
impl Sync for CommandBuilder
impl Unpin for CommandBuilder
impl UnsafeUnpin for CommandBuilder
impl UnwindSafe for CommandBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more