Как проверить успешность выполнения команды в Bash

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

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

Проверка успешной команды

При каждом запуске команды ее возвращаемое значение сохраняется. в конкретной переменной bash. В первом примере запустим диспетчер пакетов для обновления системы. В моем случае это Ubuntu, поэтому команда будет примерно такой.

$ sudo apt update && sudo apt upgrade -y

Здесь, по выходным данным, мы можем легко сказать, что команда выполнена успешно. Теперь каждая команда, выполняемая в оболочке bash, возвращает значение, которое хранится в переменной bash «$?». Чтобы получить значение, запустите эту команду.

$ echo $?

Если команда прошла успешно, возвращаемое значение будет 0. Если возвращаемое значение иное, значит, она не сработала так, как предполагалось. . Давай проверим. Выполните ту же команду обновления, но на этот раз прервите ее, нажав «Ctrl + C».

Теперь проверьте значение переменной bash.

$ echo $?

Значение не равно 0, поэтому определенно есть ошибка. Здесь мы заставили команду прерваться. Как это может быть полезно в сценариях bash? Вот краткий пример того, как использовать его в сценарии bash. Сохраните сценарий как текстовый файл с расширением .sh.

#!/Bin/bash

if [ $? -экв 0]; затем
echo OK
else
echo FAIL
fi

Сделайте файл исполняемым.

$ chmod + x demo.sh

Теперь запустите сценарий.

$ ./demo.sh

После выполнения любой команды bash обновит значение переменной. В этом случае после выполнения команды echo мы можем определить, успешно она выполнилась или нет. Замените команду echo чем угодно и вуаля!

Вот еще один интересный метод, который может подтвердить успешность выполнения команды. Это всего лишь однострочная команда, очень простая.

$ && echo УСПЕХ || echo FAIL

Здесь команда разделена на две части символом «||» знак. Если первая команда выполняется успешно, должна выполняться первая команда echo. В противном случае будет запущена вторая команда echo. Давайте проверим это на примере.

$ sudo apt update && echo SUCCESS || echo FAIL

Первая часть не была t удалось, поэтому первая команда echo была пропущена. Вместо этого была запущена вторая команда echo, указывающая на то, что первая часть не была выполнена успешно. Что, если он выполнен успешно?

Первая команда эха была активировано.

Вот еще один пример сценария bash.

#!/bin/bash
if ; затем
echo «Успех»
else
echo «Ошибка, статус выхода: $?»
fi

Запустить сценарий.

$. /demo.sh

Если команда не удалось, результат будет другим.

Какой сценарий bash использовать? Я настоятельно рекомендую первый, в котором сначала запускается команда, а затем значение «$?» извлекается в переменной, а затем выполняйте все, что хотите, в зависимости от значения переменной.

Заключительные мысли

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

Какой метод использовать? Это зависит от того, какой цели вы хотите достичь. Для использования в терминале и в командной строке лучше всего использовать пример одной команды. Что касается сценариев bash, не стесняйтесь, какой метод лучше всего подходит вам, особенно первый пример сценария, который я продемонстрировал.

Хотите облегчить себе жизнь с помощью bash? Узнайте больше о том, как установить псевдонимы bash и некоторые популярные и удобные псевдонимы.

Наслаждайтесь!

Оцените статью
nanomode.ru
Добавить комментарий