Метод arg
Метод arg класса Command добавляет
один аргумент к команде, которая будет запущена.
Параметром метод принимает значение аргумента,
которое может быть строкой, числом или любым типом,
реализующим трейт AsRef<OsStr>.
Метод возвращает изменённую ссылку на Command,
что позволяет вызывать методы цепочкой.
Синтаксис
command.arg(arg)
Пример
Давайте запустим команду echo с одним
аргументом "abcde" и выведем результат:
use std::process::Command;
fn main()
{
let output = Command::new("echo")
.arg("abcde")
.output()
.expect("failed to execute process");
let res = String::from_utf8_lossy(&output.stdout);
println!("{}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте запустим команду echo с несколькими
аргументами, добавляя их по одному через метод arg:
use std::process::Command;
fn main()
{
let output = Command::new("echo")
.arg("12345")
.arg("abcde")
.output()
.expect("failed to execute process");
let res = String::from_utf8_lossy(&output.stdout);
println!("{}", res);
}
Результат выполнения кода:
"12345 abcde"
Пример
Давайте передадим числовой аргумент команде
echo, используя метод arg:
use std::process::Command;
fn main()
{
let output = Command::new("echo")
.arg(12345)
.output()
.expect("failed to execute process");
let res = String::from_utf8_lossy(&output.stdout);
println!("{}", res);
}
Результат выполнения кода:
"12345"