Завершення і код завершення

... ця частина Bourne shell покрита мороком, проте все користуються нею. Chet Ramey

Команда exit може використовуватися для завершення роботи сценарію, точно так само як і в програмах на мові C. Крім того, вона може повертати деяке значення, яке може бути проаналізовано викликає процесом.

Кожна команда повертає код завершення (іноді код завершення називають повертається значенням). У разі успіху команда повинна повертати 0, а в разі помилки - нульове значення, яке, як правило, інтерпретується як код помилки. Практично всі команди і утиліти UNIX повертають 0 в разі успішного завершення, але є і виключення з правил.

Аналогічним чином ведуть себе функції, розташовані всередині сценарію, і сам сценарій, повертаючи код завершення. Код, що повертається функцією або сценарієм, визначається кодом повернення останньої команди. Команді exit можна явно вказати код повернення, у вигляді: exit nnn, де nnn - це код повернення (число в діапазоні 0 - 255).

Команді exit можна явно вказати код повернення, у вигляді: exit nnn, де nnn - це код повернення (число в діапазоні 0 - 255)

Коли робота сценарію завершується командою exit без параметрів, то код повернення сценарію визначається кодом повернення останньої виконаної командою.

Код повернення останньої команди зберігається в спеціальній змінній $ ?. Після виконання коду функції, змінна $? зберігає код завершення останньої команди, виконаної в функції. Таким способом в Bash передається функцією. Після завершення роботи сценарію, код повернення можна отримати, звернувшись з командного рядка до змінної $ ?, тобто це буде код повернення останньої команди, виконаної в сценарії.

Приклад 6-1. завершення / код завершення

#! / Bin / bash echo hello echo $? # Код повернення = 0, оскільки команда виконалася успішно. lskdf # Неіснуюча команда. echo $? # Ненульовий код повернення, оскільки команду виконати не вдалося. echo exit 113 # Явна вказівку коду повернення 113. # Перевірити можна, якщо набрати в командному рядку "echo $?" # Після виконання цього прикладу. # Відповідно до угод, 'exit 0' вказує на успішне завершення, # + в той час як нульове значення означає помилку.

Мінлива $? особливо корисна, коли необхідно перевірити результат виконання команди (див. приклад 12-27 і приклад 12-13 ).

приклад 12-27   і   приклад 12-13   )

символ ! , Може виступати як логічне "НЕ" для інверсії коду повернення .

Приклад 6-2. Використання символу! для логічної інверсії коду повернення

true # вбудована команда "true". echo "код повернення команди \" true \ "= $?" # 0! true echo "код повернення команди \"! true \ "= $?" # 1 # Зверніть увагу: символ "!" від команди необхідно відокремлювати пропуском. #! True викличе повідомлення про помилку "command not found" # Спасибі SC

Код повернення останньої команди зберігається в спеціальній змінній $ ?
Після виконання коду функції, змінна $?
Після завершення роботи сценарію, код повернення можна отримати, звернувшись з командного рядка до змінної $ ?
Bin / bash echo hello echo $?
Echo $?
Echo "код повернення команди \" true \ "= $?
True \ "= $?

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

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: