Запуск нескольких файлов сценариев вложенной оболочки из основного сценария оболочки

#linux #bash #shell

Вопрос:

у меня есть файл сценария основной оболочки m1.sh и еще два файла сценариев s1.sh и s2.sh .

вот я бегу s1.sh и s2.sh от m1.sh чего . Но проблема s2.sh в том, что запускается только после s1.sh полного запуска.

m1.sh выглядит так, как показано ниже

 $cat m1.sh
#!/bin/bash
./s1.sh 
./s2.sh
 

Как я могу запустить s2.sh , когда s1.sh начнется запуск(я не хочу ждать, пока s1.sh завершится)

Ответ №1:

Вы можете запустить их как процесс backgroud, например

 #!/bin/bash
./s1.sh amp;
./s2.sh amp;

wait       # wait for all background processes to complete

for logfile in ./s1.log ./s2.log
do
    ... process "${logfile}" as needed
done
 

Комментарии:

1. есть ли другой способ, если я буду работать в фоновом режиме, как я могу найти журналы ?

2. Обновите вопрос с помощью проблемы, которую вы хотите решить

3. @kiran — ответ обновлен с помощью одного метода обработки файлов журналов после завершения фоновых процессов; вы знаете имена файлов журналов, верно? как ваш текущий код «находит журналы» ?

4. @kofemann — не стесняйтесь (повторно)редактировать по своему усмотрению; Я не видел пользы в создании нового/отдельного ответа, который просто основан на вашем ответе