【问题标题】:Set a environment variable and make it effective in all opened terminal设置环境变量并在所有打开的终端中生效
【发布时间】:2013-09-09 07:08:37
【问题描述】:

我有很多打开的终端。现在我想设置一个环境变量,希望环境变量能在所有打开的终端中生效(不需要lgout shell并再次登录或任何其他额外的命令,如source使其生效)不仅仅是我设置环境变量的终端。

有什么想法吗?

【问题讨论】:

  • 将环境变量写入文件并在所有打开的终端中source该文件。或者,如果您希望更改为永久,请将其添加到您的 shell 启动文件(${HOME}/.bashrc,如果您使用的是bash),然后添加source
  • 但我想找到一个自动生成的解决方案。

标签: linux shell environment-variables


【解决方案1】:

这取决于您使用的外壳类型。例如,在 bash 中,您可以

  1. 创建一个包含设置的文件~/.env
  2. 在您的~/.bashrc 中,告诉每个终端在每个提示符处获取文件:

    PROMPT_COMMAND='. ~/.env'
    

如果您更改.env 文件(例如尝试echo TEST=1 > ~/.env),则在使用新.bashrc 的任何终端中按Enter 后,echo $TEST 将生成1

【讨论】:

    猜你喜欢
    • 2019-09-14
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多