2 个不稳定版本
0.2.0 | 2021年2月2日 |
---|---|
0.1.1 | 2020年12月30日 |
#22 in #subprocess
6KB
96 代码行,不包括注释
babash
一个围绕 std::process::Command
的微小包装,牺牲性能以换取简洁性。
- 适用于 Linux 和 Windows
- 假定环境为
utf-8
- 记录所有命令和响应,并使用适当的级别
示例
fn main() -> std::io::Result<()> {
stderrlog::new().verbosity(4).init().unwrap();
let r = babash::call("foo")?; // doesn't check for exit status
assert_eq!(r.code, Some(127));
babash::ensure_call("bar")?; // produces an error on an bad exit status
Ok(())
}
生成以下日志输出
INFO - Calling: foo
DEBUG - Response {
command: "foo",
code: Some(
127,
),
success: false,
stdout: "",
stderr: "sh: 1: foo: not found\n",
}
INFO - Calling: bar
ERROR - Response {
command: "bar",
code: Some(
127,
),
success: false,
stdout: "",
stderr: "sh: 1: bar: not found\n",
}
Error: Custom { kind: Other, error: "Unsuccessful call: Response {\n command: \"bar\",\n code: Some(\n
127,\n ),\n success: false,\n stdout: \"\",\n stderr: \"sh: 1: bar: not found\\n\",\n}" }
依赖项
~88KB