Ви хочете, щоб одне завантаження використовувало інший проксі, а потім усе повернулося до звичайного стану. Не потрібно редагувати файл запуску оболонки й сподіватися, що ви не забудете його скасувати.

Для зовнішньої команди в оболонці стилю POSIX поставте присвоєння перед командою:

https_proxy=http://proxy.example:8080 curl https://example.com/

Використовуйте HTTP-ендпоінт, призначений для цього завантаження; список HTTP-проксі пропонує кандидатів для дозволених публічних маршрутів. Присвоєння передається в середовище цієї команди. Її дочірні процеси можуть успадкувати значення, але після завершення команди присвоєння не замінює наявне значення батьківської оболонки.

Що читати, як і раніше, вирішує клієнт

Синтаксис оболонки створює середовище; він не нав'язує мережевий маршрут. Використовуйте імена змінних, які підтримує застосунок. Наявні змінні обходу, явні параметри команди або власна конфігурація застосунку все ще можуть впливати на результат.

Документація щодо середовища Bash пояснює поведінку префікса команди. Команди, що є функціями оболонки, спеціальними вбудованими командами або синтаксисом оболонки, можуть мати додаткові правила області дії, тому простий приклад вище навмисно використовує зовнішню програму.

Для кількох команд використовуйте підоболонку

(
  export http_proxy=http://proxy.example:8080
  export https_proxy=http://proxy.example:8080
  command-one
  command-two
)

Група в дужках виконується у власному середовищі оболонки. Замініть ілюстративні назви команд програмами, які збираєтеся запускати. Цей шаблон дозволяє уникнути крихкої послідовності збереження старого значення, його перезапису та ручного відновлення після кожного можливого збою.

Тримайте секрети поза прикладами, що копіюються в історію оболонки. Пам'ятайте також, що sudo може фільтрувати середовище; змінна, видима зовнішній команді, не передається автоматично через кожну межу привілеїв. Тимчасова область дії та фактичний вибір проксі залишаються окремими питаннями.

Схожі статті