我在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脚本启动所有这些。)
答案 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
完全退出,然后继续其他任何操作。