在 Shell 脚本中调用另一个 Shell 脚本的三种方式 | 您所在的位置:网站首页 › shell调用方法 › 在 Shell 脚本中调用另一个 Shell 脚本的三种方式 |
先来说一下主要以下有几种方式: fork: 如果脚本有执行权限的话,path/to/foo.sh。如果没有,sh path/to/foo.sh。 exec: exec path/to/foo.sh source: source path/to/foo.sh forkfork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调用 foo.sh 这个脚本,比如如果是 foo.sh 在当前目录下,就是 ./foo.sh。运行的时候 terminal 会新开一个子 Shell 执行脚本 foo.sh,子 Shell 执行的时候, 父 Shell 还在。子 Shell 执行完毕后返回父 Shell。 子 Shell 从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回父 Shell。 execexec 与 fork 不同,不需要新开一个子 Shell 来执行被调用的脚本. 被调用的脚本与父脚本在同一个 Shell 内执行。但是使用 exec 调用一个新脚本以后, 父脚本中 exec 行之后的内容就不会再执行了。这是 exec 和 source 的区别. source与 fork 的区别是不新开一个子 Shell 来执行被调用的脚本,而是在同一个 Shell 中执行. 所以被调用的脚本中声明的变 |
CopyRight 2018-2019 实验室设备网 版权所有 |