#shell #kubernetes
#оболочка #kubernetes
Вопрос:
У меня есть переменная среды kubernetes pod
JOBID=111
Я изменяю эту переменную env внутри сценария оболочки, как показано ниже. Это изменение происходит внутри бесконечного цикла. таким образом, сценарий никогда не завершается.
export JOBID=$(echo $line)
Внутри скрипта значение переменной изменяется на новое значение. Но если я проверю значение переменной env вне скрипта, при запуске нового терминала значение переменной env по-прежнему равно 111.
Ответ №1:
Внутри скрипта значение переменной изменяется на новое значение. Но если я проверю значение переменной env вне скрипта, при запуске нового терминала значение переменной env по-прежнему равно 111
Так работают переменные среды, и вы не можете это изменить. Вы можете изменить переменную только для определенного процесса, и эта среда будет распространяться на все остальные процессы, которые вы запускаете из этого процесса.
Но вы не можете перезаписать глобальное значение. Только локальное значение (process’copy). Любой другой процесс (например, запущенный kubectl exec) будет иметь «старое» значение переменной env.