繁体   English   中英

如何强制 script.sh 作为子 shell 而不是子 shell 运行?

[英]How to force script.sh to run as subshell not child?

我有几种编译一些代码的 buildA.sh、buildB.sh、... 脚本。 我还有一个通用脚本 common.sh,它可以进行预处理、设置环境和设置陷阱命令。

cat common.sh 
~~~
./buildA.sh  #call build.sh, other build.sh run in other directory.
~~~

我需要使 build.sh 作为 common.sh 的子 shell 运行以重新使用 trap 命令和对 common.sh 的非导出变量访问 有什么办法可以做到这一点或解决方法吗?

您必须source脚本才能在当前 shell 中运行它。 这不是子外壳,但我认为这就是您真正想要的:

source build.sh

或者等效的简单语法:

. build.sh

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM