Spec-Zone.ru › Bash

Код завершения

Код завершения выполненной команды — это значение, возвращаемое системным вызовом waitpid или эквивалентной функцией. Коды завершения находятся в диапазоне от 0 до 255, хотя, как объясняется ниже, оболочка может использовать значения выше 125 особым образом. Коды завершения встроенных команд оболочки и составных команд также ограничены этим диапазоном. В определенных обстоятельствах оболочка будет использовать специальные значения для указания конкретных режимов сбоя.

Для оболочки команда, завершившаяся с кодом завершения ноль, считается успешной. ненулевой код завершения указывает на ошибку. Этот, казалось бы, противоречивый подход используется для того, чтобы было одно хорошо определенное значение для успешного завершения и множество способов указания различных режимов сбоя. Когда команда завершается по фатальному сигналу с номером N, Bash использует значение 128+N в качестве кода завершения.

Если команда не найдена, созданный дочерний процесс для ее выполнения возвращает статус 127. Если команда найдена, но не является исполняемой, возвращаемый статус равен 126.

Если команда завершилась ошибкой во время расширения или перенаправления, код завершения больше нуля.

Код завершения используется условными командами Bash (см. Условные конструкции) и некоторыми конструкциями списков (см. Списки команд).

Все встроенные команды Bash возвращают код завершения ноль, если они успешны, и ненулевой код при ошибке, поэтому их можно использовать в условных и списочных конструкциях. Все встроенные команды возвращают код завершения 2, чтобы указать неправильное использование, как правило, недопустимые параметры или недостающие аргументы.

Код завершения последней команды доступен в специальном параметре $? (см. Специальные параметры).

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Exit-Status.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API