У меня есть сценарий оболочки, который экспортирует некоторые учетные данные.
BHUKRK848D:~ ranip.hore$ cat cred.ksh
export ORACLE_UID_MD="abcd"
export ORACLE_PWD_MD="welcome"
Я пытаюсь выполнить сценарий оболочки из сценария Python с использованием подпроцесса и при попытке получить экспортированные переменные с помощью os.environ изСценарий Python, я не могу их получить.
Ниже приведен фрагмент кода, который я выполняю:
BHUKRK848D:~ ranip.hore$ cat demo.py
import os
import subprocess
subprocess.call("sh cred.ksh",shell=True)
print(os.environ.get("ORACLE_UID_MD",None))
BHUKRK848D:~ ranip.hore$ python demo.py
None
Это связано с тем, что переменные экспортируются в другом процессе ииз скрипта при получении он пытается из какого-то отдельного процесса?Если я выполняю команды экспорта вручную из терминала и запускаю команду python, он может получить учетные данные.