Не выход из сценария оболочки
Я пытаюсь остановить обработку сценария оболочки с условием IF.
output7=${output7##*[[:space:]]}
if [[ $output4 -gt 0 && $output5 -gt 0 && $output6 -gt 0 && $output7 -gt 0 ]]
then echo 'Success'
else echo 'Failure'|| exit 0
fi
echo 'Process Completed'
Он печатает следующее сообщение, но также выполняется следующая инструкция. Выход:
Failure
Process Completed
Может кто-нибудь пожалуйста скажите мне, почему он не выходит из сценария.
1 ответ
Решение
Проблема в том, что вы говорите, что "если echo 'Failure'
не получается, тогда exit 0
"Это не то, что вы хотите. Вы будете хотеть
echo 'Failure'
exit 1
вместо. Идиоматический стиль Bash для всего раздела будет:
if [[ $output4 -gt 0 ]] && [[ $output5 -gt 0 ]] && [[ $output6 -gt 0 ]] && [[ $output7 -gt 0 ]]
then
echo 'Success'
else
echo 'Failure'
exit 1
fi