在Linux/Unix系统中如何设置环境变量$PATH永久生效?

老胡的看法:Linux中的环境变量$PATH通常是定义了可执行程序和脚本所在的路径,当我们在Linux系统中通过终端敲命令的方式来运行某个程序或者脚本的时候,系统就会根据$PATH定义的路径依次去寻找这个命令。有时候我们会临时安装一些新的程序或者脚本,需要直接通过它们的名字来运行,这时候就需要把它们所在的目录加到$PATH中,例如:export $PATH=$PATH:/usr/share/command/bin这样是临时设置环境变量$PATH,当shell关闭的时候就会失效,想要永久生效,有两种思路:一、系统范畴内永久生效1、修改/etc/environment。

将PATH=PATH:/usr/share/command/bin加入到/etc/environment文件中。/etc/environment中对环境变量的赋值会对所有用户起作用,并且无论使用X窗口环境还是纯命令行终端,都会加载其中的变量。(老胡新装的系统,environment还是空的)需要注意的是,在environment中定义环境变量时无法使用其他变量。

以下这样定义$PATH是不会生效的:JAVA_HOME="/usr/lib/java"PATH="$JAVA_HOME/bin:$PATH"2、修改/etc/profile 和在 /etc/profile.d/下面添加自定义环境变量的脚本。这两个地方的文件只对shell起作用。二、用户范畴内永久生效1、修改~/.profile这个文件的作用类似/etc/profile,对当前用户下由终端启动的所有程序和bash脚本生效。

不同的用户,在各自的~目录下各有一份这样的配置文件,可以各自定义自己喜好的环境变量。2、修改~/.bashrc在这个文件里定义的环境变量,只在当前用户的bash shell中有效。如果你用的是zsh shell,那么就修改~/.zshrc。这个文件里定义的环境变量不能用于其他程序。总结一下,使环境变量$PATH永久生效可以在系统范畴内实现,也可以在用户范畴内实现,另外的区别是可以使用$PATH的情形。


文章TAG:linux  环境变量  添加  打开  系统  
下一篇