shleazy 0.1.0

Shell Made Easy: convenience wrappers around std::process
Documentation
  • Coverage
  • 85.71%
    6 out of 7 items documented0 out of 6 items with examples
  • Size
  • Source code size: 4.94 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 237.07 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 6s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • wberrier/shleazy
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • wberrier

shleazy

"Shell Made Easy"

There are several std::process wrappers, but all seem too verbose for some common use cases.

_shell variants wrap command in sh -c ''.

Examples

use shleazy::*;

fn main() -> Result<()> {

    // Returns Err since non-zero exit code
    run_shell_or_err("ls /invalid-path")?;

    // Returns 1
    let exit_code = getstatus_shell("false")?;

    // Returns "test"
    let output = getoutput_shell_or_err("echo 'test'")?;

    // returns (0, "test")
    let (exit_code, output) = getstatusoutput_shell("echo 'test'")?;
}

TODO

  • flesh out all combinations (existing implemented as needed)
  • capture/combine `stderr
  • model around a struct instead? (Seems more verbose?), for example:
Cmd::new("").
Cmd::new_shell("").
Cmd::new_args("", "arg1").
Cmd::new("").output()
Cmd::new("").output_or_err()
Cmd::new("").status()
Cmd::new("").status_or_err()
Cmd::new("").or_err()
Cmd::new("").statusoutput()
Cmd::new("").statusoutput_or_err()