#[non_exhaustive]pub enum BashFlavor {
Bash,
Sh,
Dash,
Ksh,
BusyBox,
Brush,
}Expand description
Selects which POSIX-compatible sh-family shell is in use.
All flavors share Bash’s script generation logic (POSIX-compatible dot
sourcing, export, unset, etc.). The differences are:
executable()returns the correct binary name per flavor.- Bash-specific features like completion sourcing are only enabled for
Bash-compatible flavors (
BashFlavor::BashandBashFlavor::Brush).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Bash
Standard GNU Bash – default.
Sh
POSIX /bin/sh.
Dash
Debian Almquist Shell.
Ksh
KornShell.
BusyBox
BusyBox sh (identifies itself as sh).
Brush
Brush, a Bash-compatible shell written in Rust (https://brush.sh).
Trait Implementations§
Source§impl Clone for BashFlavor
impl Clone for BashFlavor
Source§fn clone(&self) -> BashFlavor
fn clone(&self) -> BashFlavor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BashFlavor
Source§impl Debug for BashFlavor
impl Debug for BashFlavor
Source§impl Default for BashFlavor
impl Default for BashFlavor
Source§fn default() -> BashFlavor
fn default() -> BashFlavor
Returns the “default value” for a type. Read more
impl Eq for BashFlavor
Source§impl PartialEq for BashFlavor
impl PartialEq for BashFlavor
impl StructuralPartialEq for BashFlavor
Auto Trait Implementations§
impl Freeze for BashFlavor
impl RefUnwindSafe for BashFlavor
impl Send for BashFlavor
impl Sync for BashFlavor
impl Unpin for BashFlavor
impl UnsafeUnpin for BashFlavor
impl UnwindSafe for BashFlavor
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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