linux的环境变量问题

$PATH,首先是在/etc/profile下生效,

然后,用户目录下~/.bash_profile下如果有定义,则会覆盖到之前的$PATH

还要注意一点,如果用户sudo su切换到root时,会改变当前窗口的环境变量,因为visudo查看配置,有这个选项env_reset,会重置env的设置。
这种情况,最简单的做法是调整:
Defaults    env_reset
为:
Defaults    !env_reset

还有一个方法是:
sudo -E 要执行的服务