当用户改变时如何改变环境变量?

当用户改变时如何改变环境变量?

我在 USB 驱动器上有一个带有 bash shell 的便携式终端,每次更换计算机时我都想加载不同的环境变量,其他机器上的用户不同。如何为此设置 .bashrc 文件?

答案1

我不确定我是否完全理解你想做什么。

我认为您基本上想要的是保留一些可以在需要时/需要的地方获取的环境文件。

假设你想在通过 ssh 连接的远程机器上设置环境,那么你的 .bashrc 可以包含类似

source ~/path/to/file.env

或者

. ~/path/to/file.env

请记住,.bashrc 可能不是您需要编辑的文件。从我的系统的 bashrc 来看:

# There are 3 different types of shells in bash: the login shell, normal shell
# and interactive shell. Login shells read ~/.profile and interactive shells
# read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all
# settings made here will also take effect in a login shell.

如果您在本地切换用户,这种方法也有效。

如果您想要的是修改自己的环境(不确定为什么要这样做,但这里不作评判),那么最简单的方法就是在需要时手动获取所需的环境文件。

这听起来有点像您在 Windows 上,在这种情况下,您可能需要确保您的本地 shell 的工作方式与 bash 类似,并允许获取东西。

另外,请记住您可以使用env命令来运行,如下所示:

env -i bash -c 'source .foo.env && do_something.sh'

相关内容