pub struct Shell;
Expand description
The type to spawn commands.
Implementations§
Source§impl Shell
impl Shell
Sourcepub async fn exec<I, S>(
program: &str,
args: I,
options: &CommandOptions,
) -> Result<ShellExecOutput>
pub async fn exec<I, S>( program: &str, args: I, options: &CommandOptions, ) -> Result<ShellExecOutput>
Executes a command as a child process, waiting for it to finish and collecting all of its output. Stdin is ignored.
§Examples
use shell_util::{CommandOptions, Shell};
let output =
Shell::exec("echo", &["Hello!"], &CommandOptions::default())
.await
.unwrap();
assert!(output.status.success);
assert_eq!(output.stdout.as_str().unwrap(), "Hello!");
Sourcepub async fn status<I, S>(
&self,
program: &str,
args: I,
options: &CommandOptions,
) -> Result<ExitStatus>
pub async fn status<I, S>( &self, program: &str, args: I, options: &CommandOptions, ) -> Result<ExitStatus>
Executes a command as a child process, waiting for it to finish and collecting its exit status. Stdin, stdout and stderr are ignored.
§Examples
use shell_util::{CommandOptions, Shell};
let status =
Shell::status("echo", ["Hello!"], CommandOptions::default())
.await
.unwrap();
assert!(status.success);
Sourcepub fn spawn<I, S>(
program: &str,
args: I,
options: &CommandOptions,
) -> Result<ChildProcess>
pub fn spawn<I, S>( program: &str, args: I, options: &CommandOptions, ) -> Result<ChildProcess>
Spawns the command as a child process.
§Examples
use shell_util::{CommandEvent, Shell};
let child = Shell::spawn("yes", [], CommandOptions::default())
.expect("Failed to spawn yes.");
while let Some(event) = child.events().recv().await {
if let CommandEvent::Stdout(buffer) = event {
println!("stdout: {}", buffer.as_str().unwrap());
}
}
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Shell
impl RefUnwindSafe for Shell
impl Send for Shell
impl Sync for Shell
impl Unpin 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