3个不稳定版本
0.2.0 | 2022年8月29日 |
---|---|
0.1.1 | 2022年8月22日 |
0.1.0 | 2022年8月21日 |
#549 in Unix API
20KB
339 行
apipe
简单的匿名UNIX管道类型。
使用方法
try_from(&str)
创建管道最简单的方法是通过解析命令字符串
use apipe::CommandPipe;
let mut pipe = CommandPipe::try_from(r#"echo "This is a test." | grep -Eo \w\w\sa[^.]*"#)?;
let output = pipe.spawn_with_output()?;
assert_eq!(output.stdout(), "is a test\n".as_bytes());
这需要启用parser
功能。
管道命令对象
创建单个命令,然后从它们构造管道
use apipe::Command;
let mut pipe = Command::parse_str(r#"echo "This is a test.""#)?
| Command::parse_str(r#"grep -Eo \w\w\sa[^.]*"#)?;
// or:
let mut pipe = Command::new("echo").arg("This is a test.")
| Command::new("grep").args(&["-Eo", r"\w\w\sa[^.]*"]);
let output = pipe.spawn_with_output()?;
assert_eq!(output.stdout(), "is a test\n".as_bytes());
Command
也可以手动构造,如果您想的话
let mut command = Command::new("ls").arg("-la");
构建器
还有传统的构建器语法
use apipe::CommandPipe;
let output = apipe::CommandPipe::new()
.add_command("echo")
.arg("This is a test.")
.add_command("grep")
.args(&["-Eo", r"\w\w\sa[^.]*"])
.spawn_with_output()?;
assert_eq!(output.stdout(), "is a test\n".as_bytes());
依赖关系
~0–495KB