Function expectrl::spawn[][src]

pub fn spawn<S: AsRef<str>>(cmd: S) -> Result<Session, Error>
Expand description

Spawn spawnes a new session.

It accepts a command and possibly arguments just as string. It doesn’t parses ENV variables. For complex constrictions use Session::spawn_cmd.

Example

use expectrl::{spawn, ControlCode};
use std::{thread, time::Duration};
use std::io::{Read, Write};

let mut p = spawn("cat").unwrap();
p.send_line("Hello World").unwrap();

thread::sleep(Duration::from_millis(300)); // give 'cat' some time to set up
p.send_control(ControlCode::EndOfText).unwrap(); // abort: SIGINT

let mut buf = String::new();
p.read_to_string(&mut buf).unwrap();

assert_eq!(buf, "Hello World\r\n");