Я пытался заставить цикл for одновременно запускать несколько команд и пытался сделать это через подоболочки. Мне удалось собрать приведенный ниже сценарий для тестирования, и он, кажется, работает нормально.
#!/bin/bash
for i in {1..255}; do
(
#commands
)&
done
wait
Единственная проблема заключается в том, что мой фактический цикл будет для i в файлах *, а затем он просто падает, я полагаю, потому что он запускает слишком много подоболочек для обработки. Поэтому я добавил
#!/bin/bash
for i in files*; do
(
#commands
)&
if (( $i % 10 == 0 )); then wait; fi
done
wait
что сейчас не получается. Кто-нибудь знает способ обойти это? Либо использовать другую команду для ограничения количества подоболочек, либо указать номер для $i?
Ваше здоровье