Хотя это может и не дать прямого ответа на заданный вопрос, я решил предложить это решение, тем более что похоже, что OP еще не остановился на конвейере.
Во многих оболочках Posix можно объединить несколько команд вместе с помощью символа &&
. По сути, это означает выполнение первой команды, а затем после того, как первая команда завершится без ошибок, выполните следующие команды после &&
. Например:
./extract.sh 1553212800 1554854400 &&./extract.sh 1554854400 1556668800 &
Это, однако, запустит все как один большой фоновый процесс. Кроме того, вы рискуете никогда не запускать команды, следующие за командой, выдающей ошибку. Таким образом, в сценарии, подобном этому:
./valid_run.sh &&./throws_error.sh &&./second_valid_run.sh
Если valid_run.sh
работает правильно, а throws_error.sh
— нет, second_valid_run.sh
не запустится.
В качестве альтернативы более чистым подходом к этому было бы хранить все ваши команды в скрипте-оболочке BASH, а затем запускать этот скрипт:
обертка.sh:
#!/bin/bash
./extract.sh 1553212800 1554854400
./extract.sh 1554854400 1556668800
командная строка:
$./wrapper.sh &
Думаю, это лучший способ организовать ваши команды.