【发布时间】:2021-01-26 15:38:13
【问题描述】:
我有 kubernetes pod 环境变量
JOBID=111
我正在从下面的 shell 脚本中更改这个环境变量。这种变化发生在一个无限循环中。所以脚本永远不会终止。
export JOBID=$(echo $line)
在脚本内部,变量的值被更改为新值。但是如果我在脚本之外检查环境变量的值,在一个新的终端中,环境变量的值仍然是 111。
【问题讨论】:
标签: shell kubernetes
我有 kubernetes pod 环境变量
JOBID=111
我正在从下面的 shell 脚本中更改这个环境变量。这种变化发生在一个无限循环中。所以脚本永远不会终止。
export JOBID=$(echo $line)
在脚本内部,变量的值被更改为新值。但是如果我在脚本之外检查环境变量的值,在一个新的终端中,环境变量的值仍然是 111。
【问题讨论】:
标签: shell kubernetes
在脚本内部,变量的值被更改为新值。但是如果我在脚本之外检查 env 变量的值,在一个新的终端中,env 变量的值仍然是 111
这就是环境变量的工作方式,您无法更改它。您只能更改特定进程的变量,并且此 env 将为您从该进程运行的每个其他进程传播。
但是你不能覆盖全局值。只有本地值(进程的副本)。每个其他进程(例如由 kubectl exec 启动)都将具有 env 变量的“旧”值。
【讨论】: