pub struct Shell {
pub nth: usize,
pub pid: Pid,
pub shlvl: u32,
pub subshell: u32,
pub joined: Stamp,
pub bash: Bash,
pub options: Options,
pub brought: Vec<String>,
}Expand description
A shell in a run: which bash it is, where it sits, and what it had switched on when it joined.
Made once, from the account a shell gives before it says anything else. A reaction is handed one at construction, so nothing about a shell is ever a parameter afterwards.
Fields§
§nth: usizeThe order it joined in, counting from zero.
pid: Pid§shlvl: u32§subshell: u32$BASH_SUBSHELL. A subshell has a $BASHPID of its own and so joins as
a shell of its own, which is why this is fixed for the shell’s life.
joined: StampWhen it joined, on both clocks.
bash: Bash§options: Options§brought: Vec<String>The words its join carried — BC_JOIN <label> <dir> word… — verbatim,
and empty where the join brought none. An arglist like a message’s:
key value pairs are a convention a client reads with
field.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Shell
impl<'de> Deserialize<'de> for Shell
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
impl Eq for Shell
impl StructuralPartialEq for Shell
Auto Trait Implementations§
impl Freeze for Shell
impl RefUnwindSafe for Shell
impl Send for Shell
impl Sync for Shell
impl Unpin for Shell
impl UnsafeUnpin for Shell
impl UnwindSafe for Shell
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.