Что-то вроде:
parallel --dry-run 'cd directory{}; ../blah.exe all; source ../blah.sh all' ::: {1..4}
Нет необходимости копировать / перемещать исполняемый файл, просто запустите тот же.
После этого не нужно cd ..
, так как каждый новый процессвремя.
Обратите внимание, что это не многопоточность, это многопоточность.
Если вы хотите обработать непрерывные номера каталогов, вы можете использовать:
parallel ... ::: {1..4} 6 7 {11..14}
Если вы хотите обработать все каталоги, вы можете использовать:
printf "%s\0" */ | parallel -0 'cd {}; pwd'
Если вы хотите обработать все каталоги, начиная с FRED
, вы можете использовать:
printf "%s\0" FRED*/ | parallel -0 'cd {}; pwd'