Запуск сценария оболочки "обычно" (например, с proxy.sh
) приводит к тому, что он выполняется в подпроцессе, поэтому он не может влиять на среду родительского процесса.
Использование .
или source
запустит сценарий оболочки в контексте текущей оболочки, поэтому сможет повлиять на среду, используя одно из следующих действий:
. proxy.sh
source proxy.sh
Другая возможность (если вы используете, по крайней мере, bash
) - создать псевдоним, который сделает всю работу за вас. Вы можете использовать что-то вроде:
alias faster='export http_proxy=http://192.168.0.205:1099'
, так что вы можете просто набрать faster
в командной строке, и она будет экспортировать эту переменную (в контексте текущей оболочки).
Вы также можете разрешить одноразовые настройки, такие как:
alias faster='http_proxy=http://192.168.0.205:1099'
и затем используйте:
faster your_program
что бы перевести на:
http_proxy=http://192.168.0.205:1099 your_program
Это bash
способ установить переменную только для one вызова команды.