【发布时间】:2015-07-05 12:18:05
【问题描述】:
我正在用 bash 编写一个脚本,它在内部调用两个 bash 脚本。其中第一个脚本包括在后台运行的不同测试和第二个脚本打印第一个脚本的结果。
当我一个接一个地运行这两个脚本时,有时,第二个脚本会在第一个脚本结束之前执行,这会打印错误的结果。
我正在使用 source 命令运行这两个脚本。有更好的建议吗?
source ../../st_new.sh -basedir $STRESS_PATH -instances $INSTANCES
source ../../results.sh
【问题讨论】:
-
你真的需要获取文件,或者你可以在子shell中运行它们吗,使用
../../st_new.sh ...? -
不是真的,我也可以在子 shell 中运行它们,但这对我有帮助吗?
-
可以给我们
st_new.sh的内容吗 -
通常,在第一个脚本结束之前,第二个脚本不应自行启动。如果它正在启动,那么很可能第一个脚本正在分叉自己以作为后台任务运行。 (有点像
$0 "$@" &..)