我在同一目录中有一组 shell,我想执行所有在开头有结果的 shell,例如:
result.sha
result.shb
result.shc
...
下面的脚本可以找到使用匹配的 reg 执行所有 shell,但是我怎样才能让它们每个都在后台并行运行
find . -type f -name 'result.*' -exec sh {} \;
我试过这个,但它不工作:
find . -type f -name 'result.*' -exec sh {} \;&
sh
每批find
结果只启动一次更有效,并让它根据需要分叉出尽可能多的子进程。
find . -type f -name 'result.*' -exec sh -c 'for arg do . "$arg" & done' _ {} +
. "$arg" &
分叉出已经运行的解释器的副本并在其中运行代码,"$arg"
从而避免额外支付解释器启动成本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句