Запуск proxy-on.sh не переналаштує батьківську оболонку
Виберіть функцію оболонки або завантажений файл, коли помічник проксі має змінити середовище поточної оболонки.
Скрипт експортує http_proxy, друкує “enabled” і завершується. Запущений після цього з початкового термінала Curl досі має старе середовище.
Виконання скрипта створило дочірній процес. Export робить значення доступним дітям цього процесу; він не повертає значення в батьківську оболонку. Розміщення export усередині bash -c або зворотних лапок не перевертає цей зв'язок.
Для інтерактивного перемикача функція, визначена в поточній оболонці, може виконати потрібну роботу:
proxy_on() {
export http_proxy=http://proxy.example.net:8080
export https_proxy="$http_proxy"
}
Замініть приклад endpoint на свій HTTP-сервіс або на кандидата зі списку HTTP-проксі для дозволених публічних запитів. Викличте функцію після завантаження її визначення. Завантажений файл оболонки — ще один спосіб виконувати присвоєння в поточній оболонці, а не в новій.
Наявні GUI-програми та інші термінали й далі зберігають власні середовища. Якщо помічник призначений для запуску лише однієї команди через проксі, тримати зміну в середовищі цієї команди часто і є правильним обсягом.