我一直在尝试让一个 for 循环同时运行一堆命令,并试图通过子外壳来实现。我设法将下面的脚本拼凑在一起进行测试,它似乎工作正常。
#!/bin/bash
for i in {1..255}; do
(
#commands
)&
done
wait
唯一的问题是我的实际循环将是 for i in files* 然后它就崩溃了,我认为是因为它启动了太多的子外壳来处理。所以我加了
#!/bin/bash
for i in files*; do
(
#commands
)&
if (( $i % 10 == 0 )); then wait; fi
done
wait
现在失败了。有谁知道解决这个问题的方法?使用不同的命令来限制子shell 的数量或为$i 提供一个数字?
干杯