Ich versuche, einen Prozess mit der Command
API zu starten und seine Standardausgabe auf Standardfehler umzuleiten. In der folgenden fehlschlägt:Wie umleiten Child-Prozess-Ausgabe zu Stderr?
Command::new("tput").arg("rc")
.stdout(io::stderr())
.status()
.expect("failed to run tput");
weil Command::new("tput").arg("rc").stdout(<XXX>)
erwartet ein std::process::Stdio
:
expected struct `std::process::Stdio`, found struct `std::io::Stderr`
Das Äquivalent in Bash wahrscheinlich tput rc > /dev/stderr
wäre.
Ich würde gerne wissen, wie man das richtig macht.
Kurz auf die API Ich würde sagen, das ist nicht möglich. Vielleicht sollte hier ein Problem auftreten, wo die "stdout" -Methode stattdessen eine "Writer" -Instanz akzeptieren könnte? –