Bash脚本等待依赖命令进程

时间:2015-07-29 22:19:37

标签: linux bash shell docker

我在bash脚本方面相当新。我需要使用bash脚本来管理我的微服务,因此这些服务需要构建和部署(在docker上)。

所以我有这样的命令:

#!/bin/bash
mvn clean
wait $!
mvn package
wait $!
#Some if elses here
sudo docker build -t myService . &
wait $!
#Some if elses here
sudo -S docker run -d -name myService myService &

因此,正如您所看到的(脚本的一小部分,我在函数中对依赖命令进行分组),命令需要等待先前依赖的命令。但wait $!命令在所有命令之后看起来并不好看。

有没有针对这种情况的方法?(如果它是方便的解决方案,我打开其他方法而不是bash脚本.Btw服务是节点和java服务分离,所以我需要用一个bash脚本启动所有这些。)

1 个答案:

答案 0 :(得分:1)

要自动等待命令,请不要向其添加&

sudo docker build -t myService .
sudo -S docker run -d -name myService myService

在继续sudo docker build -t myService .之前,等待sudo -S docker run -d -name myService myService完全退出。然后等待sudo -S docker run -d -name myService myService完全退出,然后继续其他任何操作。