我知道如何在所有匹配这样的模式的子目录中运行命令(假设我想运行gh repo sync
):
for d in ./*/ ; do (cd "$d" && gh repo sync) ; done
并在每个目录的子 shell 中连续运行命令。
我想要的是并行运行所有命令,但在主脚本中等待它们全部完成。
我正在使用 Ubuntu 22.04。那可能吗?
我知道如何在所有匹配这样的模式的子目录中运行命令(假设我想运行gh repo sync
):
for d in ./*/ ; do (cd "$d" && gh repo sync) ; done
并在每个目录的子 shell 中连续运行命令。
我想要的是并行运行所有命令,但在主脚本中等待它们全部完成。
我正在使用 Ubuntu 22.04。那可能吗?
在后台运行每个子shell命令,然后等待它们全部完成
GNU Parallel 在这方面做得很好。很长一段时间以来,我每天都在使用这种结构:
在我自己的系统上进行类似测试: