Skip to content

脚本中 Source ~/.bashrc 无效

解决方式是将 bash your_script.sh 改为 source your_script.sh
这个问题需要了解 sourcebash 这两个命令的不同之处。
其实很简单,前者是在父进程的基础上继续运行,改了环境变量也等于改了父进程的环境变量;后者是单独开了继承环境变量的子进程,任何操作都是对父进程没有影响的。

所以使用 bash your_script.sh时,如果进行了 source ~/.bashrc,那么等你的脚本执行完成后,父进程还是原来的那些环境变量,根本没有改变。

Comments