Source命令
source命令用法:
source FileName
作用
- 在当前bash环境下读取并执行FileName中的命令。
- 也可以将函数从命令中读入,函数就可以如同命令一样可以直接调用。
注:该命令通常用命令“.”来替代。
如:source .bash_rc 与 . .bash_rc 是等效的。
注意:
source命令与shell scripts的区别是,source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。
source命令的作用就是用来执行一个脚本,那么:
source a.sh
同直接执行 ./a.sh 有什么不同呢,比如你在一个脚本里export $KKK=111
,如果你用./a.sh
执行该脚本,执行完毕后,你运行 echo $KKK
,发现没有值,如果你用source来执行 ,然后再echo ,就会发现KKK=111。因为调用./a.sh
来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同它就是在本shell中执行的,所以可以看到结果。
source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等。