3 releases

0.1.2 Mar 19, 2023
0.1.1 Feb 23, 2023
0.1.0 Feb 23, 2023

#1533 in Text processing


Used in pr_buddy

AGPL-3.0

15KB
190 lines

shutil

Rust shell utility helper library

Installing

cargo add shutil

Using command pipelines in rust

shutil::pipe() makes it easy to execute command pipelines in rust.

For example, say you want to execute the following pipeline:

echo foo | rev | tr 'a-z' 'A-Z'

This will echo the string "foo", reverse it, and then change lowercase characters to uppercase. The result will be the string "OOF". Here is the equivalent rust code:

use shutil::pipe;

fn main() {
    // Executes `echo "foo" | rev | tr "a-z" "A-Z"`
    let output = pipe(vec![
        vec!["echo", "foo"],
        vec!["rev"],
        vec!["tr", "a-z", "A-Z"],
    ]);

    // prints "OOF"
    println!("{}", output.unwrap());
}

No runtime deps