【发布时间】:2010-12-10 16:11:52
【问题描述】:
我使用 Terminal.app 和 iTerm,它们都支持通过多个选项卡和多个窗口同时运行多个 shell。我经常使用此功能,但因此,如果我想更改环境变量设置,我通常必须在我打开的每个选项卡和窗口以及任何新的选项卡或窗口中运行一次相同的命令我以后开。我的 shell 是否可以相互通信,以便我可以更改一次环境变量,并将该更改传播到我当前正在运行的所有其他 shell?
我知道我可以在像.bashrc 这样的启动文件中静态设置环境变量。我也知道我可以让子 shell 继承父 shell 的环境,通常或通过screen。这些选项都没有解决这个问题。这个问题专门针对同时动态更改多个当前运行的 shell 的环境。
理想情况下,我希望在不将这些变量的内容写入磁盘的情况下随时完成此操作。我希望能够做到这一点的原因之一是我可以在 env 变量中设置敏感信息,例如散列密码,并稍后在其他 shell 中引用它们。我希望能够在我登录时设置这些变量一次,并且能够在我所有的 shell 中引用它们,直到我注销,或者直到机器重新启动。 (这类似于ssh-agent 的工作方式,但据我所知,ssh-agent 只会存储 SSH 密钥,而不是环境变量。)
是否可以让 shell 像这样进行通信?
【问题讨论】:
-
很抱歉,这是一个服务器故障问题。
标签: security shell communication environment-variables