РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
991 of 1245 menu

Метод envs

Метод envs класса Command добавляет или переопределяет сразу несколько переменных окружения, которые будут переданы запускаемому процессу. Параметром метод принимает итератор, элементы которого представляют собой пары ключ-значение. Ключи и значения могут быть любого типа, реализующего трейты AsRef<OsStr>.

Синтаксис

command.envs(iter)

Пример

Давайте зададим две переменные окружения для команды printenv и выведем их значения:

use std::process::Command; fn main() { let output = Command::new("printenv") .envs([("MY_VAR", "abcde"), ("MY_NUM", "12345")]) .output() .expect("failed to execute process"); let res = String::from_utf8_lossy(&output.stdout); println!("{}", res); }

Результат выполнения кода:

MY_VAR=abcde MY_NUM=12345

Пример

Давайте передадим переменные окружения в виде вектора строковых пар и проверим их наличие через команду sh:

use std::process::Command; fn main() { let vars = vec![ ("KEY1", "abcde"), ("KEY2", "12345"), ]; let output = Command::new("sh") .arg("-c") .arg("echo $KEY1 $KEY2") .envs(vars) .output() .expect("failed to execute process"); let res = String::from_utf8_lossy(&output.stdout); println!("{}", res); }

Результат выполнения кода:

abcde 12345

Смотрите также

  • метод env,
    который задает одну переменную окружения
  • метод env_clear,
    который очищает все переменные окружения
  • метод env_remove,
    который удаляет переменную окружения
  • метод output,
    который запускает процесс и возвращает его вывод
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить