Метод output
Метод output класса Command запускает
внешнюю команду, ожидает её полного завершения и
возвращает объект Output. Этот объект содержит
код выхода процесса, данные стандартного вывода и
данные потока ошибок. Параметров метод не принимает.
Метод возвращает значение типа
Result<Output, Error>, поэтому результат
необходимо обрабатывать.
Синтаксис
command.output()
Пример
Давайте запустим команду echo с аргументом
"abcde" и выведем результат её работы:
use std::process::Command;
fn main()
{
let res = Command::new("echo")
.arg("abcde")
.output();
match res
{
Ok(output) =>
{
let text = String::from_utf8_lossy(&output.stdout);
println!("{}", text.trim());
}
Err(e) =>
{
println!("{}", e);
}
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте получим код выхода команды и проверим, завершилась ли она успешно:
use std::process::Command;
fn main()
{
let res = Command::new("echo")
.arg("12345")
.output();
match res
{
Ok(output) =>
{
let code = output.status.code();
println!("{:?}", code);
println!("{}", output.status.success());
}
Err(e) =>
{
println!("{}", e);
}
}
}
Результат выполнения кода:
Some(0)
true