linux上source /etc/profile的用处

在linux中,/etc/profile文件中存储了linux中配置的一些全局变量;这些变量对所有的用户可以用;与此同时,你也可以在当前用户的~/.bashrc文件中配置环境变量,但是此时的环境变量只是归属于当前用户;
我们在登录单个用户时,会首先加载/etc/profile中的全局变量的信息,然后加载/etc/bashrc中的数据信息;
在有的时候,我们采用一些其他的方式登录时,有些全局变量是不起作用的,这个时候需要执行下面的语句

source /etc/profile;

就可以将全局变量刷新,重新可以获取全局变量的信息;

以下是我碰到的两种全局变量没有刷新的情况:
(1)我们采用python的paramiko远程登陆linux服务器时,在执行某些java或者python的代码时,会出现代码无法执行的问题;这很大的可能是因为我们采用paramiko远程登陆时没有加载/etc/profile中的变量,导致用到python或java的环境变量时报错;此时执行source /profile可解决这个问题;

(2)我们在python代码中,采用os.chdir()的方式来切换目录,然后采用os.system()执行其他的代码A,而代码A中可能存在一些相对路径查询的数据,此时可能会在查询路径的过程中报错;原因还是因为第一次执行python代码时,某些环境变量被固定了,因此在执行os.chdir()之后,需要采用source /etc/profile的方式刷新python的环境变量,这样才能够保证相对路径的环境变量被正确加载过来;

你可能感兴趣的:(linux)