Crate conch_runtime_pshaw[−][src]
Expand description
A library for executing programs written in the shell programming language.
This library offers executing already parsed shell commands as defined by the POSIX.1-2008 standard. This runtime attempts to remain agnostic to the specific Abstract Syntax Tree format a parser could produce, as well as agnostic to features supported by the OS to be as cross platform as possible.
Specifically implementations are provided for all the default AST nodes produced
by the conch-parser
crate. Unlike other Unix shells, this
library supports Windows1 and can likely be extended for other
operating systems as well.
1Major features are reasonably supported in Windows to the extent possible. Due to OS differences (e.g. async I/O models) and inherent implementation exepectations of the shell programming language, certain features may require additional runtime costs, or may be limited in nature (e.g. inheriting arbitrary numbered file descriptors [other than stdio] is difficult/impossible due to the way Windows addresses file handles).
Supported Cargo Features
conch-parser
: enable implementations on the default AST types provided by theconch-parser
crate
Re-exports
pub use self::spawn::Spawn;
Modules
This module defines various interfaces and implementations of shell environments.
See the documentation around Env
or DefaultEnv
to get started.
A module defining the various kinds of errors that may arise while executing commands.
A module for evaluating arbitrary shell components such as words, parameter subsitutions, redirections, and others.
Defines interfaces and methods for doing OS agnostic file IO operations.
Defines helpers and utilities for working with file system paths
Defines methods for spawning commands into futures.
Enums
Describes the result of a process after it has terminated.
Constants
Exit code for commands which are not executable.
Exit code for missing commands.
Exit code for commands that did not exit successfully.
Exit code for commands that exited successfully.
File descriptor for standard error.
File descriptor for standard input.
File descriptor for standard output.
Traits
A convenience trait to abstract over Arc
Type Definitions
The type that represents a file descriptor within shell scripts.