我有一个顺序脚本,其中有一个 git 克隆。我想确保在执行下一步之前实际的 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 克隆完成。请问有什么提示吗?
最佳答案
这里的问题是您通话中的 &
。这将强制在后台执行 git 命令。只需使用 ;
或 &&
来分隔您的命令。
例如 这将在任何情况下回显“克隆”。即使“git clone”失败了。
git clone https://github.example.com/Sample/Example.git; echo "cloned"
或:
仅当克隆成功时才会回显“已克隆”。
git clone https://github.example.com/Sample/Example.git && echo "cloned"
根据您的描述,我认为您需要第二个选项。
关于git - 等待 "git clone"在 bash 中完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37437007/