Функция new класса Command
Функция new класса Command создает новую команду,
которая будет запускать указанную внешнюю программу.
Функция принимает в качестве параметра имя или путь к исполняемому файлу,
который необходимо запустить. Возвращаемое значение - это экземпляр
структуры Command, с которым можно дальше работать:
добавлять аргументы, настраивать переменные окружения,
перенаправлять потоки ввода-вывода и запускать процесс.
Синтаксис
Command::new(program)
Пример
Давайте создадим команду для запуска программы "echo"
и выведем её отладочное представление:
use std::process::Command;
fn main()
{
let res = Command::new("echo");
println!("{:?}", res);
}
Результат выполнения кода:
"echo"
Пример
Давайте создадим команду, добавим ей аргумент и запустим процесс, получив его статус:
use std::process::Command;
fn main()
{
let res = Command::new("echo")
.arg("abcde")
.status()
.unwrap();
println!("{}", res);
}
Результат выполнения кода:
abcde
exit status: 0
Пример
Давайте создадим команду и получим её вывод в виде строки:
use std::process::Command;
fn main()
{
let res = Command::new("echo")
.arg("12345")
.output()
.unwrap();
let text = String::from_utf8(res.stdout).unwrap();
println!("{}", text.trim());
}
Результат выполнения кода:
"12345"