./test.sh . ./test.sh source ./test.sh的区别

背景

今天写几个shell脚本,使用一个公共的config.sh,但是export出来的东西在另外的*.sh中不能直接用,这让我很惆怅,印象中就是可以export出来给别的shell用啊,只要不是下一次就行啊。。。

查资料

果然是我图样图森破啊,知识半吊子水都没啊。

查到这样一篇http://blog.csdn.net/dance_rise/article/details/8573560

结论

  • ./test.sh 就是bash test.sh,在子进程中执行

  • . ./test.shsource ./test.sh的功能相同,在当前进程中执行

在shell里调用另外一个.sh是在子进程中运行的,即使export出去,也不能被父进程使用。

posted @ 2016-06-17 15:12  fwindpeak  阅读(793)  评论(0编辑  收藏  举报