Linux中的PATH环境变量
我想知道Linux操作系统(如PATH、HOME)提供的标准环境变量是如何自动设置的。这些文件是从哪些文件读取的。当某个特定用户登录时,应该有一个文件来设置这些变量。这些变量没有什么神奇之处,shell在启动时设置它们 你应该开始阅读Linux中的PATH环境变量,linux,environment-variables,Linux,Environment Variables,我想知道Linux操作系统(如PATH、HOME)提供的标准环境变量是如何自动设置的。这些文件是从哪些文件读取的。当某个特定用户登录时,应该有一个文件来设置这些变量。这些变量没有什么神奇之处,shell在启动时设置它们 你应该开始阅读/etc/profile,然后从那里开始学习。或者,strace可能会显示shell在启动时试图读取的文件 例如,下面是我的/etc/profile的启动方式: PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/
/etc/profile
,然后从那里开始学习。或者,strace
可能会显示shell在启动时试图读取的文件
例如,下面是我的/etc/profile
的启动方式:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
export PATH
之后是其他文件的来源,这些文件依次修改
路径
我想了解@cnicutar已经提到的内容的更多细节。包括路径在内的环境变量可以是
- 系统范围-环境变量的值持续到系统启动
- 会话范围-持续到会话持续(直到用户注销)
/etc/profile
用于Bourne&Bourne兼容外壳的系统设置。/etc/profile
的行为可能因发行版而异。对于最新的Ubuntu发行版,建议使用
/etc/environment
进行系统范围的设置(不建议使用/etc/profile
或/etc/bash.bashrc
,如中所述)在Ubuntu机器上,
/etc/profile
是一个shell脚本,它在/etc/profile.d
和/etc/bash.bashrc
中的系统范围/bashrc
文件中获取脚本,而/etc/environment
是一个文本文件,由设置到系统范围环境中的每行变量赋值组成
对于每个用户,还可以通过~/.profile
,~/.bash\u profile
,~./bash\u login
,~./bash\u login
和~/.bashrc
(~
=>用户的主目录)操作环境变量的值
有关Ubuntu系统上环境变量的更多详细信息,请参阅以下链接:您甚至可以使用module environment软件自行设置和管理环境变量。 要安装“模块”,可以在Centos上使用此命令
sudo yum install environment-modules
对于Ubuntu用户,您可以从以下来源安装它:
编写模块文件以设置或前置环境变量。然后,您可以使用模块加载此文件。
例如,我的文件名为“mypath”
然后,用
module load mypath
然后,您可以使用列出已加载的模块
module list
这里给出的链接现在建议更改/etc/environment而不是/etc/profile。它表示不再建议更改/etc/profile。您必须重新启动或x重新启动才能使其工作。@VampileCoder:谢谢!我已经更新了回复。请随意编辑以更新/做出更好的响应在更改/etc/environment之后,如果我们做source/etc,那就太好了/environment@AmitPandya:当然
source
或
或等效程序可以工作,但恐怕它只适用于调用它的shell。/etc/environment
AFAIK-in用于系统范围的设置,因此更好的选择可能是注销-登录。
module list