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

Тип Output

Тип Output возвращается методом output у Command и представляет собой структуру, которая хранит результат выполнения внешней команды. Он содержит три поля: status (код выхода команды в виде ExitStatus), stdout (вектор байтов стандартного вывода) и stderr (вектор байтов стандартного потока ошибок). Тип Output позволяет получить полную информацию о выполненной команде, включая её вывод и статус завершения.

Синтаксис

std::process::Output

Пример

Давайте выполним команду echo и получим результат в виде типа Output:

use std::process::Command; fn main() { let output = Command::new("echo") .arg("hello") .output() .expect("failed to execute command"); println!("status: {}", output.status); println!("stdout: {}", String::from_utf8_lossy(&output.stdout)); }

Результат выполнения кода:

status: exit status: 0 stdout: hello

Пример

Давайте проверим успешность выполнения команды с помощью поля status:

use std::process::Command; fn main() { let output = Command::new("echo") .arg("abcde") .output() .expect("failed to execute command"); if output.status.success() { println!("command succeeded"); } else { println!("command failed"); } }

Результат выполнения кода:

command succeeded

Пример

Давайте получим стандартный поток ошибок команды через поле stderr:

use std::process::Command; fn main() { let output = Command::new("ls") .arg("/nonexistent_path_xyz") .output() .expect("failed to execute command"); let stderr = String::from_utf8_lossy(&output.stderr); println!("stderr: {}", stderr.trim()); println!("success: {}", output.status.success()); }

Результат выполнения кода:

stderr: ls: cannot access '/nonexistent_path_xyz': No such file or directory success: false

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

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