0

我有 kubernetes pod 环境变量

JOBID=111

我正在从下面的 shell 脚本中更改这个 env 变量。这种变化发生在一个无限循环中。所以脚本永远不会终止。

export JOBID=$(echo $line)

在脚本内部,变量的值被更改为新值。但是,如果我在脚本之外检查 env 变量的值,则在一个新终端中,env 变量的值仍然是 111。

4

1 回答 1

1

在脚本内部,变量的值被更改为新值。但是,如果我在脚本之外检查 env 变量的值,则在一个新终端中运行 env 变量的值仍然是 111

这就是环境变量的工作方式,您无法更改它。您只能更改特定进程的变量,并且此 env 将为您从该进程运行的每个其他进程传播。

但是你不能覆盖全局值。只有本地值(进程的副本)。每个其他进程(例如由 kubectl exec 启动)都将具有 env 变量的“旧”值。

于 2020-10-12T11:15:29.473 回答