Если не включить в программу на Python интерпретатор bash
(который нереалистичен; bash
не предназначен для этого), то проще всего написать сценарий оболочки-оболочки, исходный код которого A
, затем использует exec
для запуска скрипта Python. После exec
ваш скрипт Python сохраняет ту же среду, что и оболочка, включая все, что было найдено в A
:
# wrapper script
source A
exec B.py
В B.py
каждый из сценариев Ci
будет наследовать переменные, определенные в A
, из среды B.py
.
Другой вариант - портировать A
в модуль Python, который B.py
может импортировать напрямую. Вы бы изменили
export x=foo
export y=1
в
import os
os.environ["x"] = "foo"
os.environ["y"] = "1"
В зависимости от степени вовлеченности A
портирование может быть не тривиальным, поэтому я бы порекомендовал оболочку, используя exec
вначале.