pub trait Command:
Sized
+ Debug
+ Clone {
// Required method
fn run_internal(
&self,
input: Option<&str>,
clear_env: bool,
env: HashMap<String, String>,
del_env: HashSet<String>,
path: Option<PathBuf>,
) -> Result<Output>;
// Provided methods
fn and<C: Command>(self, other: C) -> And<Self, C> { ... }
fn or<C: Command>(self, other: C) -> Or<Self, C> { ... }
fn then<C: Command>(self, other: C) -> Then<Self, C> { ... }
fn pipe<C: Command>(self, other: C) -> Pipe<Self, C> { ... }
fn env(self, key: &str, value: &str) -> Env<Self> { ... }
fn clear_envs(self) -> ClearEnv<Self> { ... }
fn without_env(self, key: &str) -> ExceptEnv<Self> { ... }
fn without_envs<I: IntoIterator<Item = String>>(
self,
envs: I,
) -> ExceptEnvs<Self, I> { ... }
fn with_dir<P: AsRef<Path>>(self, dir: P) -> Dir<Self> { ... }
fn run(&self) -> Result<Output> { ... }
fn with_input(self, input: &str) -> Input<Self> { ... }
}Required Methods§
Sourcefn run_internal(
&self,
input: Option<&str>,
clear_env: bool,
env: HashMap<String, String>,
del_env: HashSet<String>,
path: Option<PathBuf>,
) -> Result<Output>
fn run_internal( &self, input: Option<&str>, clear_env: bool, env: HashMap<String, String>, del_env: HashSet<String>, path: Option<PathBuf>, ) -> Result<Output>
The command used to define all others. input: the string to be piped into the next command run. clear_env: if the global enviromental variables should be cleared. env: what enviromental variables to set, supercedes clear_env.
Provided Methods§
Sourcefn and<C: Command>(self, other: C) -> And<Self, C>
fn and<C: Command>(self, other: C) -> And<Self, C>
Equivalent to &&, as in “command 1” && “command 2”.
Sourcefn or<C: Command>(self, other: C) -> Or<Self, C>
fn or<C: Command>(self, other: C) -> Or<Self, C>
Equivalent to ||, as in “command 1” || “command 2”.
Sourcefn then<C: Command>(self, other: C) -> Then<Self, C>
fn then<C: Command>(self, other: C) -> Then<Self, C>
Equivalent to ;, as in “command 1”; “command 2”.
Sourcefn pipe<C: Command>(self, other: C) -> Pipe<Self, C>
fn pipe<C: Command>(self, other: C) -> Pipe<Self, C>
Equivalent to |, as in “pipe 1” | “into 2”.
Sourcefn env(self, key: &str, value: &str) -> Env<Self>
fn env(self, key: &str, value: &str) -> Env<Self>
Sets the env in the environment the command is run in.
Sourcefn clear_envs(self) -> ClearEnv<Self>
fn clear_envs(self) -> ClearEnv<Self>
Clears the environment for non-explicitly set variables.
Sourcefn without_env(self, key: &str) -> ExceptEnv<Self>
fn without_env(self, key: &str) -> ExceptEnv<Self>
Removes a variable from the enviroment in which the command is run.
Sourcefn without_envs<I: IntoIterator<Item = String>>(
self,
envs: I,
) -> ExceptEnvs<Self, I>
fn without_envs<I: IntoIterator<Item = String>>( self, envs: I, ) -> ExceptEnvs<Self, I>
Takes an iterable of Strings for keys to remove.
fn with_dir<P: AsRef<Path>>(self, dir: P) -> Dir<Self>
Sourcefn with_input(self, input: &str) -> Input<Self>
fn with_input(self, input: &str) -> Input<Self>
Pipes input into the following command.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".