11个版本
0.2.1 | 2022年3月21日 |
---|---|
0.2.0 | 2020年4月16日 |
0.1.8 | 2020年4月14日 |
0.1.7 | 2020年3月23日 |
0.1.3 | 2018年6月7日 |
#3 in #exit-status
每月21次下载
14KB
157 代码行
easy_process
允许运行外部命令并正确处理其成功和失败。
平台 | 构建状态 |
---|---|
Linux | |
macOS | |
Windows |
这提供了一个run
函数,该函数对字面命令行字符串进行内联解析(处理转义码和按空白字符分割)并检查命令的ExitStatus
。如果没有成功,它将返回一个Err(...)
而不是一个Ok(...)
。
注意,提供的函数返回它们自己的Output
结构体,而不是std::process::Output
。
示例
use easy_process;
// stdout
let output = easy_process::run(r#"sh -c 'echo "1 2 3 4"'"#)?;
assert_eq!(&output.stdout, "1 2 3 4\n");
// stderr
let output = easy_process::run(r#"sh -c 'echo "1 2 3 4" >&2'"#)?;
assert_eq!(&output.stderr, "1 2 3 4\n");
Windows上的命令也以相同的方式支持
let output = easy_process::run(r#"powershell /C 'echo "1 2 3 4"'"#)?;
assert_eq!(&output.stdout, "1 2 3 4\r\n");
许可证
以下任一许可证下授权
- Apache许可证版本2.0,(LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则任何有意提交以包含在作品中并由您定义的Apache-2.0许可证中的贡献,将根据上述方式双重许可,而无需任何额外条款或条件。
依赖
~0.4–0.9MB
~20K SLoC