Установка переменных среды с использованием eval - путем вызова другого сценария оболочки

Установка переменных среды с использованием eval - путем вызова другого сценария оболочки
Установка переменных среды с использованием eval - путем вызова другого сценария оболочки - peter_mc_greats @ Unsplash

У меня есть два сценария оболочки Caller и getGlobalParameters. В сценарии getGlobalParameters определена функция, которая вызывает класс Java и использует значения, возвращаемые классом Java, для установки переменных среды. После завершения вызова getGlobalParameters вызывающая сторона пытается использовать переменные среды, установленные в getGlobalParameters. Проблема, с которой я сталкиваюсь, заключается в том, что переменные среды, установленные getGlobalParameters, недоступны для вызывающего абонента. Ниже приведен фрагмент кода Caller и getGlobalParameters.

Caller.sh

GETGLOBALPARAMETERS=getGlobalParameters.sh
jobName=ABC
JOBENV=TEST
eval '$GETGLOBALPARAMETERS $jobName $JOBENV'
printenv
#In the printenv statement above I am not seeing the environment variables set by the getGlobalParameters

getGlobalParameters.sh - 
#Sample OUTPUT value a^1$b^2
IFS='$' read -r -a array <<< "$OUTPUT"
declare -A configkeys
for element in "${array[@]}"
do
   IFS='^' read -r -a temparray <<< "$element"
   configkeys[${temparray[0]}]=${temparray[1]}
done
for key in "${!configkeys[@]}"; do
   export  "${key} = "${configkeys[$key]}""
done
printenv
#In the above printenv I am able to  see the environment variables.

Может ли кто-нибудь взглянуть и сообщить мне, что мне не хватает. Уже потратил день на выяснение проблемы, но не смог найти способ исправить это.

Welcome to DeepL Write!

getGlobalParameters.sh - 

. getGlobalParameters.sh

This tool allows you to correct mistakes, rephrase sentences and improve your writing. The green highlight on the right indicates a change.

eval '$GETGLOBALPARAMETERS $jobName $JOBENV'

Click on a word to see suggestions or rewrite the whole sentence.

. $GETGLOBALPARAMETERS $jobName $JOBENV

NevaDev, 11 марта 2023 г., 20:05