脚本中 Source ~/.bashrc 无效
解决方式是将 bash your_script.sh
改为 source your_script.sh
。
这个问题需要了解 source
和 bash
这两个命令的不同之处。
其实很简单,前者是在父进程的基础上继续运行,改了环境变量也等于改了父进程的环境变量;后者是单独开了继承环境变量的子进程,任何操作都是对父进程没有影响的。
所以使用 bash your_script.sh
时,如果进行了 source ~/.bashrc
,那么等你的脚本执行完成后,父进程还是原来的那些环境变量,根本没有改变。