Да; вы можете использовать return
вместо exit
. Его основная цель - вернуться из функции оболочки, но если вы используете ее в скрипте source
-d, она вернется из этого сценария.
Как и sect; 4.1 «Встроенные оболочки Bourne», Справочного руководства Bash помещает его:
return [n]
Вызывает выход из функции оболочки с возвращаемым значением n . Если параметр n не указан, возвращаемым значением является статус выхода последней команды, выполняемой в этой функции. Это также можно использовать для завершения выполнения скрипта, выполняемого с помощью встроенного
.
(илиsource
), возвращающего либо n , либо статус выхода последней команды, выполняемой в скрипте, как статус выхода скрипта. Любая команда, связанная с ловушкойRETURN
, выполняется до того, как выполнение возобновится после функции или скрипта. Статус возврата не равен нулю, еслиreturn
используется вне функции, а не во время выполнения скрипта.
илиsource
.