等待“git clone”在bash中完成

时间:2016-05-25 12:22:18

标签: git bash

我有一个顺序脚本,其中有一个git clone。我想确保在执行下一步之前完成实际的git进程。 我试过了

git clone https://github.example.com/Sample/Example.git & export PID=${!} | while [[ ( -d /proc/$PID ) && ( -z `grep zombie /proc/$PID/status` ) ]]; do sleep 1; done

以及其他各种方法,但无法管理如何等到实际的git克隆完成。请问这个暗示吗?

2 个答案:

答案 0 :(得分:7)

这里的问题是您通话中的&。这将强制git命令在后台执行。只需使用;&&分隔您的命令。

e.g。 无论如何,这将回应“克隆”。即使“git clone”失败了。

git clone https://github.example.com/Sample/Example.git; echo "cloned"

或:

只有当克隆成功时,才会回复“克隆”。

git clone https://github.example.com/Sample/Example.git && echo "cloned"

根据你的描述,我认为你需要第二种选择。

答案 1 :(得分:1)

&符号分叉git进程并将其置于后台。如果您希望在继续之前完成,请将其替换为&&或换行符。