РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
987 of 1245 menu

Метод 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

Смотрите также

  • класс Command,
    который представляет внешнюю команду для запуска
  • метод status,
    который запускает команду и возвращает только код выхода
  • метод spawn,
    который запускает команду и возвращает дочерний процесс
  • структура Output,
    которая хранит код выхода, стандартный вывод и поток ошибок
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить