我对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脚本启动所有这些服务。)

最佳答案

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

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

在继续使用sudo docker build -t myService .之前,等待“cc>”完全退出。然后等待sudo -S docker run -d -name myService myService完全退出,然后继续进行其他操作。

关于linux - Bash脚本等待依赖的命令流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31712164/

10-12 22:39