Я пытаюсь запустить процесс с API Command
и перенаправить его стандартный вывод на стандартную ошибку. Следующий сбой:Как перенаправить выход дочернего процесса на 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' вместо этого? –