Вы не можете сделать это из Python, но некоторые хитрые трюки с Bash могут сделать нечто подобное. Основная причина такова: переменные среды существуют в пространстве памяти для каждого процесса. Когда новый процесс создается с помощью fork (), он наследует переменные окружения своего родителя. Когда вы устанавливаете переменную окружения в вашей оболочке (например, bash) следующим образом:
export VAR="foo"
То, что вы делаете, говорит bash, чтобы установить переменную VAR в своем пространстве процесса на «foo». Когда вы запускаете программу, bash использует fork (), а затем exec () для запуска программы, поэтому все, что вы запускаете из bash, наследует переменные окружения bash.
Теперь предположим, что вы хотите создать команду bash, которая устанавливает некоторую переменную среды DATA с содержимым из файла в вашем текущем каталоге с именем ".data". Во-первых, вам нужна команда для извлечения данных из файла:
cat .data
Это печатает данные. Теперь мы хотим создать команду bash для установки этих данных в переменную окружения:
export DATA=`cat .data`
Эта команда берет содержимое .data и помещает его в переменную окружения DATA. Теперь, если вы поместите это в команду псевдонима, у вас есть команда bash, которая устанавливает переменную среды:
alias set-data="export DATA=`cat .data`"
Вы можете поместить эту команду псевдонима в файлы .bashrc или .bash_profile в вашем домашнем каталоге, чтобы эта команда была доступна в любой новой оболочке bash, которую вы запускаете.