Метод env_remove
Метод env_remove удаляет переменную окружения
с указанным именем из окружения, которое будет
передано дочернему процессу. Параметром метод
принимает имя переменной окружения, которую
нужно удалить. Метод возвращает изменённую
ссылку на Command, что позволяет
выстраивать цепочку вызовов.
Синтаксис
command.env_remove(key)
Пример
Давайте создадим команду и удалим из её
окружения переменную PATH:
use std::process::Command;
fn main()
{
let mut cmd = Command::new("ls");
cmd.env_remove("PATH");
println!("ok");
}
Результат выполнения кода:
"ok"
Пример
Давайте удалим переменную окружения и
выполним команду printenv, чтобы
убедиться в отсутствии переменной:
use std::process::Command;
fn main()
{
let output = Command::new("printenv")
.env_remove("PATH")
.output()
.unwrap();
let text = String::from_utf8_lossy(&output.stdout);
println!("{}", text.contains("PATH="));
}
Результат выполнения кода:
false
Пример
Давайте удалим переменную окружения и проверим, что другие переменные остались на месте:
use std::process::Command;
fn main()
{
let output = Command::new("printenv")
.env_remove("HOME")
.output()
.unwrap();
let text = String::from_utf8_lossy(&output.stdout);
println!("{}", text.contains("HOME="));
}
Результат выполнения кода:
false