2014-11-07 4 views
2

У меня есть Баш скрипт, который запускает другие процессыубивают породит процессы и остановить цикл в Баш

script1.sh

for i in "${array[@]}"; do   
    ./script2.sh $i 
done 

проблема заключается в том, что, если я прекратить script2.sh последующие сценарии вызывается в цикле for и нет возможности убить script1.sh и остановить цикл for.

Как решить эту проблему?

ответ

0

Вы должны быть в состоянии использовать break,

for i in "${array[@]}"; do 
    if ! ./script2.sh $i ; then break ; fi 
done 
+0

Пытались ли вы что? '[.scirpt2.sh: Нет такого файла или каталога'. Добавление пробела помогает избежать ошибки, но делает что-то еще. – choroba

+0

Да; вы правы. Обновленный ответ с использованием кода выхода. – mpm

+1

Вы можете просто 'if! ./script2.sh $ i; затем перерыв; fi' – choroba

Смежные вопросы