我有一个看起来像这样的脚本
cd /root/signedsh/apps
for i in $(find . -name *_Seyed.ipa) ; do
#echo $i
./sign -k "/root/cert/appX.p12" -m "/root/profile/appX.mobileprovision" -p "udidsigning" -z 9 -o "$i" "$i"
done
现在这对于前 10 个文件来说工作得很好,但是现在我有 300 个文件我需要运行那个 ./sign 命令
目前,它等待第一个命令完成,然后使用第二个命令(
for i in $(find . -name *_Seyed.ipa) ; do
)运行它有没有办法可以同时运行所有 300 个左右?服务器在大型 nvme raid 0 上是 48 核和 256GB ddr4,所以它不应该挣扎,我只是不知道该怎么做
最佳答案
在后台运行每个命令(不要使用 find
):
shopt -s globstar
cd /root/signedsh/apps
for i in **/*_Seyed.ipa ; do
./sign -k "/root/cert/appX.p12" \
-m "/root/profile/appX.mobileprovision" \
-p "udidsigning" -z 9 -o "$i" "$i" &
done
关于bash - 如何一次运行所有命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61386993/