Что означают exit 0, exit 1 и exit 2 в скрипте bash?

Вот один хороший ссылка на коды выхода из оболочки:

Exit code 0        SuccessExit code 1        General errors, Miscellaneous errors, such as "divide by zero" and other impermissible operationsExit code 2        Misuse of shell builtins (according to Bash documentation)        Example: empty_function() {}

Предостережение: использование правильного кода выхода не является обязательным требованием и не обеспечивается оболочкой. Разработчики могут игнорировать это руководство, если сочтут его разумным.