source进入不了环境是为啥

source进入不了环境是为啥

问题原因

1、 使用bash来调用脚本,而不是使用source或者.来调用脚本。导致了这个问题

2、 当我们使用source或者.调用脚本时,实际上是叫脚本放到当前环境中,对当前环境生效。实际上source和.是等值的。

3、 使用bash来调用脚本时,会启动一个自shell来启动脚本,这是的source /etc/profile只是对子shell有用,一旦退出子shell,便没有效果了。

所以如果在脚本中有source命令,并且想让该命令在退出脚本后依旧生效,建议使用使用source 脚本名来调用脚本。