Redirection

Enum Redirection 

Source
pub enum Redirection {
Show 13 variants Input(String), Output(String), OutputClobber(String), Append(String), FdInput(i32, String), FdOutput(i32, String), FdOutputClobber(i32, String), FdAppend(i32, String), FdDuplicate(i32, i32), FdClose(i32), FdInputOutput(i32, String), HereDoc(String, String), HereString(String),
}
Expand description

Represents a single I/O redirection operation.

Redirections are processed in left-to-right order as they appear in the command, per POSIX specification. Each redirection modifies the file descriptor table before command execution.

Variants§

§

Input(String)

Input from file: < file or 0< file.

Redirects standard input (fd 0) from the specified file.

§

Output(String)

Output to file: > file or 1> file.

Redirects standard output (fd 1) to the specified file, truncating it. Respects the noclobber option if set.

§

OutputClobber(String)

Output to file with noclobber override: >| file.

Redirects standard output to the specified file, truncating it. Ignores the noclobber option.

§

Append(String)

Append to file: >> file or 1>> file.

Redirects standard output (fd 1) to the specified file, appending to it.

§

FdInput(i32, String)

Input from file with explicit fd: N< file.

Redirects the specified file descriptor from the file.

§

FdOutput(i32, String)

Output to file with explicit fd: N> file.

Redirects the specified file descriptor to the file, truncating it. Respects the noclobber option if set.

§

FdOutputClobber(i32, String)

Output to file with explicit fd and noclobber override: N>| file.

Redirects the specified file descriptor to the file, truncating it. Ignores the noclobber option.

§

FdAppend(i32, String)

Append to file with explicit fd: N>> file.

Redirects the specified file descriptor to the file, appending to it.

§

FdDuplicate(i32, i32)

Duplicate file descriptor: N>&M or N<&M.

Makes file descriptor N a copy of file descriptor M. Both descriptors refer to the same open file description.

§

FdClose(i32)

Close file descriptor: N>&- or N<&-.

Closes the specified file descriptor.

§

FdInputOutput(i32, String)

Open file for read/write: N<> file.

Opens the file for both reading and writing on the specified fd.

§

HereDoc(String, String)

Here-document: << EOF ... EOF.

Provides input from a multi-line string literal. The first string is the delimiter, the second is the content. The boolean indicates whether the delimiter was quoted (affects expansion).

§

HereString(String)

Here-string: <<< "string".

Provides input from a single-line string.

Trait Implementations§

Source§

impl Clone for Redirection

Source§

fn clone(&self) -> Redirection

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Redirection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Redirection

Source§

fn eq(&self, other: &Redirection) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Redirection

Source§

impl StructuralPartialEq for Redirection

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.