LinuxCommand-source


我们知道source是执行脚本的,那他和普通执行有什么不同呢?

test1.sh

 

#!/bin/sh

export KKK=111

普通执行:

 

 

tdtc010@tdtc010-Vostro-270:~$ ./test1.sh
tdtc010@tdtc010-Vostro-270:~$ echo $KKK
无结果。

 

source执行:

 

tdtc010@tdtc010-Vostro-270:~$ source test1.sh
tdtc010@tdtc010-Vostro-270:~$ echo $KKK
111
有结果。

 

为什么会这样呢?

 

因为./test1.sh是在子shell里运行的,并没有反映到父shell里;所以看不到结果。

但是source就是在本shell中执行的,所以能看到结果。


因为他的“立显”特性,source(或点命令)通常用于重新执行刚修改的初始化文档,

如.bash_profile和.profile等等。

例如,对.bash_profile中的EDITER和TERM变量做了修改,

用source执行脚本(调用了EDITER和TERM变量)时,不用注销或重新启动(PC)。

 

相关内容

    暂无相关文章