Метод args
Метод args добавляет сразу несколько аргументов
командной строки, которые будут переданы запускаемой
программе. Параметром метод принимает итератор
(например, срез или вектор) строковых значений.
Каждый элемент этого итератора становится отдельным
аргументом. Метод возвращает &mut Command,
что позволяет строить цепочки вызовов.
Если нужно добавить только один аргумент,
удобнее использовать метод arg.
Синтаксис
command.args(args)
Пример
Давайте запустим команду echo с несколькими
аргументами, переданными через вектор:
use std::process::Command;
fn main()
{
let output = Command::new("echo")
.args(vec!["abcde", "12345", "hello"])
.output()
.expect("failed to execute process");
let text = String::from_utf8_lossy(&output.stdout);
println!("{}", text.trim());
}
Результат выполнения кода:
"abcde 12345 hello"
Пример
Давайте передадим аргументы с помощью среза строк:
use std::process::Command;
fn main()
{
let args = ["-c", "echo abcde"];
let output = Command::new("sh")
.args(&args)
.output()
.expect("failed to execute process");
let text = String::from_utf8_lossy(&output.stdout);
println!("{}", text.trim());
}
Результат выполнения кода:
"abcde"