Чтобы запустить все сценарии одновременно (параллельно), используйте:
script_1.sh &
script_2.sh &
script_3.sh &
script_4.sh &
script_5.sh &
Для запуска одного за другим (последовательно) используйте:
script_1.sh &&
script_2.sh &&
script_3.sh &&
script_4.sh &&
script_5.sh
Улучшение для комментариев
Если у вас есть 200 сценариев, которые вы хотите запустить в одно и то же время (что может помешать работе машины), используйте этот сценарий:
#!/bin/bash
for Script in my_folder/*.sh ; do
echo bash "$Script" &
done
Установите атрибуты сценария на исполняемый с помощью команды:
chmod a+x /path/to/script.sh
При первом запуске сценария будут отображены только имена 200 сценариев, которые он будет выполнять. Когда вы счастливы, правильные имена выбираются, отредактируйте скрипт и измените эту строку:
echo bash "$Script" &
чтобы:
bash "$Script" &
Есть три способа вызвать bash-скрипт из другого, ответив здесь:
Сделайте другой скрипт исполняемым, добавьте #!/bin/bash
строку вверху и путь к файлу к $PATH
переменной среды. Тогда вы можете вызвать его как обычную команду;
Или вызовите его с помощью исходной команды (псевдоним.), Например source /path/to/script
:;
Или используйте команду Баша , чтобы выполнить его: /bin/bash /path/to/script
;
В случае OP один или несколько из 200 сценариев не содержали #!/bin/bash
первую строку shebang в файле. Как таковой вариант 3. должен был использоваться.
200 скриптов, работающих одновременно
Был поднят комментарий о том, «работают ли они одновременно». В типичной системе с 8 ЦП 25 сценариев будут совместно использовать один ЦП одновременно, но только один сценарий будет выполняться за раз, пока не истечет его временной интервал (измеряемый в миллисекундах). Затем следующая работа получит свою долю в миллисекундах, затем следующую работу и т. Д. И т. Д.
В целом мы можем сказать, что 200 заданий выполняются «одновременно», но не «одновременно» на 8 процессорах, что соответствует 25 заданиям на процессор:
Выше изображение и комментарии ниже из планировщика ядра Linux