【问题标题】:How to change the value of environment variable inside shell script如何在shell脚本中更改环境变量的值
【发布时间】:2021-01-26 15:38:13
【问题描述】:

我有 kubernetes pod 环境变量

JOBID=111

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

export JOBID=$(echo $line)

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

【问题讨论】:

    标签: shell kubernetes


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 2017-07-25
      • 2013-09-16
      • 2013-09-04
      • 1970-01-01
      相关资源
      最近更新 更多