当我每天早上上班时,我会运行一个脚本来提取我公司使用的多个存储库:
#!/bin/bash
cd ~/myCompany/rep1
git pull --rebase
git submodule update
cd ~/myCompany/rep2
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep3
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep4
git pull --rebase
npm install
npm run build
cd ~/myCompany/rep5
git pull --rebase
git submodule update
echo "done!"
如您所见,需要构建不同的存储库,而其他存储库需要submodule update
等等。
我想知道是否有任何方法可以让这个脚本并行运行每个git pull和它们各自的命令而不是一个接着一个。有谁知道我是如何做到这一点的?
答案 0 :(得分:3)
使它成为一个函数,在后台调用函数:
#!/bin/bash
npmBuild() {
cd $1
git pull --rebase
npm install
npm run build
}
npmBuild ~/myCompany/rep2 &
npmBuild ~/myCompany/rep3 &
为那些不是npm
的人提供略有不同的功能。