КАК я использую схему, подобную этой, в нескольких сценариях - просто вызываю вторые сценарии в одной и той же оболочке-копии, используя source
.
В script-1
:
source script2.sh
или
. script2.sh
Итак, ни одна команда в script-1
не будет выполнена, пока script2.sh
не завершит все свои задачи.
Маленький пример.
Первый скрипт:
$ cat script-1.sh
#!/bin/bash
echo "I'm sccript $0."
echo "Runnig script-2..."
source script-2.sh
echo "script-2.sh finished!"
Второй скрипт:
$ cat script-2.sh
#bin/bash
echo "I'm script-2. Running wait operation..."
sleep 2
echo "I'm ended my task."
Как это работает:
$ ./script-1.sh
I'm sccript ./script-1.sh.
Runnig script-2...
I'm script-2. Running wait operation...
I'm ended my task.
script-2.sh finished!