You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本中如何等待inner.sh执行完成后再运行curl命令?

最优解决方案:让脚本等待inner.sh执行完成再运行curl

你完全不需要用sleep命令——bash脚本里的命令默认是串行执行的,也就是说,只有当前面的命令(这里就是./inner.sh)执行完毕并退出后,才会继续执行下一条命令。

用sleep的问题在于:如果inner.sh运行时间超过30秒,那curl会提前执行,不符合你的需求;如果inner.sh很快就跑完,那sleep会白白浪费时间,完全没必要。

修正后的脚本直接去掉sleep即可,另外注意curl的写法有问题,GET需要用-X参数指定(或者如果是GET请求,其实可以直接省略GET,因为curl默认就是GET方法):

./inner.sh
# 修正curl的写法:添加-X指定请求方法,或者直接去掉GET
curl -X GET 'http://localhost:9092/OTHER/core/other/htmlreport'

如果出于某些原因你需要把inner.sh放到后台运行(比如./inner.sh &),那可以用wait命令来等待它完成,写法如下:

./inner.sh &
wait  # 等待后台的inner.sh进程执行完毕
curl -X GET 'http://localhost:9092/OTHER/core/other/htmlreport'

但根据你的原始脚本,inner.sh是前台运行的,所以第一种写法就完全满足需求,既可靠又高效。

内容的提问来源于stack exchange,提问作者boycod3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:40:36