Запуск 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-приложения и другие терминалы по-прежнему сохраняют свои окружения. Если помощник предназначен для запуска только одной команды через прокси, держать изменение в окружении этой команды часто и есть правильный охват.