执行shell脚本的四种方式及其异同

四种方式:

. script # using the . (dot)
source script # using the `source` command
sh /path/to/script # using the `sh` command
/path/to/script # using the path (absolute or relative)

说明:

. (点)和 source不完全等价。.(点)仅在bash类shell能正常工作,source在bash类和csh类shell都能正常工作。它们共同点是都会就地执行脚本,换句话说,该脚本的所有函数和非本地变量都会保留。举个例子,如果被执行的脚本通过cd命令进入了一个目录,脚本执行完毕后,你仍然处于这个目录。

另外两种方法使用了指定的解析命令。如无明示,将会使用脚本首行指定的默认解析命令。它们的共同点是不保留脚本内的变量。亦即不影响调用时的环境。

执行shell脚本的四种方式及其异同

相关推荐