红联Linux门户
Linux帮助

Linux下永久修改PATH

发布时间:2014-11-25 10:33:05来源:linux网站作者:linux人

举例说明linux下更改环境变量PATH的办法。
要把/etc/apache/bin目录添加到PATH中,方法有三:

 
1.#[color=#ff0000]PATH[/color]=$PATH:/etc/apache/bin
使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效

 
2.#vi /etc/profile
在适当位置添加 [color=#ff0000]PATH[/color]=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)
这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变

 
3.#vi ~/.bash_profile
修改PATH行,把/etc/apache/bin添加进去
这种方法是针对用户起作用的

 
注意:想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:
 
如果修改了/etc/profile,那么编辑结束后执行source profile 或 执行点命令 ./profile,PATH的值就会立即生效了。
这个方法的原理就是再执行一次/etc/profile shell脚本,注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变。
 
这样你就学会Linux系统下修改环境变量PATH路径的方法。


通过实验发现一个问题,也就是第二个方法,修改完/etc/profile并执行完source以后,使用echo确实可以看到目录被加载进环境变量了,但是退出后任然失效,这个和第一个方法是一样的。只有在重启之后这个配置才会永久生效。同时如果这个时候你把目录排除了,你再执行,发现目录还是在的,而且就算你source或者退出终端以后问题依旧,只有重启才会生效。

而且在我们加入目录后执行N次SOURCE你就会发现path里面有几个你加入的目录


比如你加入的是/root

然后执行了5次source

你就会发现在PATH里面有5个/root。