执行shell脚本的三种方式有:
1.sh test.sh
2../test.sh
3.source test.sh or . test.sh
对于test.sh脚本来说,如果没有执行权限或者没有在文件开头指定解释器,那么只能使用第一种执行方式,除此之外,他们没有什么差别;但是对于第三种执行方式来说,它所产生的影响和前面两种是完全不同的。
第三种执行方式相当于include的功能,它会把执行的结果或者其中的函数包含进父shell中,而前面两种执行方式不会把执行结果传入父shell 中,随着执行的结束,执行的定义都将消失。
所以,第三种方式通常是用作读入或者加载指定的shell脚本文件,将脚本中的语句作为当前父shell脚本的一部分运行。