你可以知道你正在运行什么 shellps -o comm= -p $$
——我认为这或多或少是普遍的。所以,在 bash 和某些类似的 shell 中......
如果您想为一次特定运行创建变量,您可以这样做
MYVAR=value the_command_that_needs_myvar
如果您想为整个 shell 会话创建它(即直到您注销):
export MYVAR=value
...然后你可以运行:
the_command_that_needs_myvar
...在该会话期间,您可以随意多次,但它仍然会看到MYVAR
作为具有价值value
.
如果您希望为自己、所有登录会话设置它,请将其放入~/.profile
.
请注意,bash 的初始化文件可能是一个很大的 WTF。取决于它是否通过网络、本地交互运行,并且取决于它是否被调用sh
or bash
,它会选择性地读取一些组合~/.bashrc
, ~/.profile
and ~/.bash_profile
。阅读 FILES 部分bash
手册页了解详细信息。
如果您希望为每个用户每次登录时设置它,请将其放入文件中/etc/profile
(虽然也有/etc/environment
,我不确定它的使用有多广泛。)。
看看问题“如何在我的linux系统下为每个人设置环境变量?” https://stackoverflow.com/questions/1641477/how-to-set-environment-variable-for-everyone-under-my-linux-system还可以了解更多详细信息。
(请注意,其中一些建议会根据您或其他用户是否使用 bash、dash、csh、ksh 等而有所不同......但它应该适用于大多数用例。)