Метод env
Метод env класса Command добавляет или переопределяет
одну переменную окружения для дочернего процесса, который будет
запущен. Параметрами метод принимает имя переменной окружения
и её значение. Метод возвращает изменённую ссылку на Command,
что позволяет выстраивать цепочку вызовов.
Синтаксис
command.env(key, value)
Пример
Давайте установим переменную окружения "MY_VAR"
со значением "hello" и выведем её через команду printenv:
use std::process::Command;
fn main()
{
let output = Command::new("printenv")
.env("MY_VAR", "hello")
.output()
.expect("failed to execute process");
let res = String::from_utf8_lossy(&output.stdout);
println!("{}", res);
}
Результат выполнения кода:
"hello\n"
Пример
Давайте переопределим существующую переменную окружения
"PATH" и проверим её новое значение:
use std::process::Command;
fn main()
{
let output = Command::new("printenv")
.env("PATH", "/custom/path")
.output()
.expect("failed to execute process");
let res = String::from_utf8_lossy(&output.stdout);
println!("{}", res);
}
Результат выполнения кода:
"/custom/path\n"
Смотрите также
-
метод
envs,
который устанавливает несколько переменных окружения сразу -
метод
env_remove,
который удаляет переменную окружения у дочернего процесса -
метод
env_clear,
который очищает все переменные окружения -
метод
new,
который создаёт новый объект Command