cargo add sbprocess

sbprocess – A Minimal, Safe Wrapper Around Subprocesses (No Boilerplate)

rust programming cli devtools subprocess The Problem We've all been there. You just need to run a shell command, capture its output, handle errors gracefully, and maybe pipe a few things together. But the standard library's std::process::Command quickly becomes verbose:

That’s a lot of .arg() calls, and error handling? You're on your own.

[dependencies] sbprocess = "0.1.0" // Run and capture let out = cmd("git status --porcelain").run()?.stdout; // Run ignoring failure let _ = cmd("rm -f tmp.txt").run_ignored();

// Run with environment cmd("python script.py") .env("DEBUG", "1") .current_dir("/app") .run()?;

use std::process::Command; let output = Command::new("sh") .arg("-c") .arg("echo hello | grep h") .output() .expect("failed to execute");