Linux 更改所有 shell 的环境变量而无需重新启动

Linux 更改所有 shell 的环境变量而无需重新启动

我使用的是 Fedora 14,我/etc/sysconfig/network使用hostname命令在 中更改了主机名。shell 提示正确显示了新主机名。但是终端标题仍然显示旧主机名。我尝试$HOSTNAME使用 将变量设置为新主机名export HOSTNAME=newhostname,但它仅在当前终端会话中有效。当我打开新终端并输入时,echo $HOSTNAME它会显示旧主机名。有没有办法更改$HOSTNAME所有 shell 而无需重新启动或注销?我试过了source /etc/profile,但没用。

答案1

您无法执行任何会将环境变量推送到已经运行的 shell 的操作。

因此,您的选择是启动新的 shell,或者在每个已经运行的 shell 中执行某些操作以获取新的环境变量。

最简单的方法是在每个 shell 中导出新变量:

export HOSTNAME=mynewhostname

用您的新主机名替换“mynewhostname”。

相关内容