3 releases

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

#1199 in Text processing

Download history 3/week @ 2024-01-06 2/week @ 2024-02-10 14/week @ 2024-02-17 42/week @ 2024-02-24 17/week @ 2024-03-02 140/week @ 2024-03-09 13/week @ 2024-03-16 4/week @ 2024-03-23 49/week @ 2024-03-30 7/week @ 2024-04-06

60 downloads per month
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