我试图用Command
API启动一个进程,并将其标准输出重定向到标准错误。下面失败:如何将子进程输出重定向到stderr?
Command::new("tput").arg("rc")
.stdout(io::stderr())
.status()
.expect("failed to run tput");
因为Command::new("tput").arg("rc").stdout(<XXX>)
需要一个std::process::Stdio
:
expected struct `std::process::Stdio`, found struct `std::io::Stderr`
中的Bash等效很可能是tput rc > /dev/stderr
。
我想知道如何正确地做到这一点。
简单地看看API我会说这是不可能的。也许应该提出一个问题,因为'stdout'方法可以接受'Writer'实例吗? –