pub enum CompoundCommand {
Show 15 variants
BraceGroup(Vec<ShellCommand>),
Subshell(Vec<ShellCommand>),
If {
conditions: Vec<(Vec<ShellCommand>, Vec<ShellCommand>)>,
else_part: Option<Vec<ShellCommand>>,
},
For {
var: String,
words: Option<Vec<ShellWord>>,
body: Vec<ShellCommand>,
},
ForArith {
init: String,
cond: String,
step: String,
body: Vec<ShellCommand>,
},
While {
condition: Vec<ShellCommand>,
body: Vec<ShellCommand>,
},
Until {
condition: Vec<ShellCommand>,
body: Vec<ShellCommand>,
},
Case {
word: ShellWord,
cases: Vec<(Vec<ShellWord>, Vec<ShellCommand>, CaseTerminator)>,
},
Select {
var: String,
words: Option<Vec<ShellWord>>,
body: Vec<ShellCommand>,
},
Coproc {
name: Option<String>,
body: Box<ShellCommand>,
},
Repeat {
count: String,
body: Vec<ShellCommand>,
},
Try {
try_body: Vec<ShellCommand>,
always_body: Vec<ShellCommand>,
},
Cond(CondExpr),
Arith(String),
WithRedirects(Box<ShellCommand>, Vec<Redirect>),
}Expand description
Compound command
Variants§
BraceGroup(Vec<ShellCommand>)
Subshell(Vec<ShellCommand>)
If
For
ForArith
While
Until
Case
Select
Coproc
Repeat
repeat N do … done
Try
{ try-block } always { always-block }
Cond(CondExpr)
Arith(String)
WithRedirects(Box<ShellCommand>, Vec<Redirect>)
Trait Implementations§
Source§impl Clone for CompoundCommand
impl Clone for CompoundCommand
Source§fn clone(&self) -> CompoundCommand
fn clone(&self) -> CompoundCommand
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompoundCommand
impl Debug for CompoundCommand
Source§impl<'de> Deserialize<'de> for CompoundCommand
impl<'de> Deserialize<'de> for CompoundCommand
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CompoundCommand
impl RefUnwindSafe for CompoundCommand
impl Send for CompoundCommand
impl Sync for CompoundCommand
impl Unpin for CompoundCommand
impl UnsafeUnpin for CompoundCommand
impl UnwindSafe for CompoundCommand
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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