Поиск по сайту:

Что значит « || " Иметь в виду? (Двойная труба) - Баш


Двойная вертикальная черта («||») — это оператор управления, представляющий операцию логического ИЛИ. Он используется для выполнения команды или серии команд только в том случае, если предыдущая команда или конвейер завершились неудачно или вернули ненулевой код состояния. В этом руководстве мы обсудим, что означает этот двойной канал и как он используется в сценариях bash, поэтому прочитайте это руководство, если вам интересно.

Что означает «|| " Иметь в виду? (Двойная труба)

Оператор двойной трубы оценивается как истина, если любое из выражений по обе стороны от него истинно, и ложно в противном случае. Это означает, что если одно из выражений истинно, то другое выражение не нужно вычислять. Если оба выражения ложны, то оператор оценивается как ложный, так что вот его синтаксис:

OR Operation Truth Table
0 0 0
0 1 1
1 0 1
1 1 1

Синтаксис для использования двойной трубы.

<command1> || <command2>

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

#!/bin/bash

# Attempt to remove a file
rm /home/aaliyan/bashfile44.sh

if [ $? -ne 0 ]; then
  # The previous command failed, so print an error message
  echo "File could not be removed"
else
  # The previous command succeeded, so print a success message
  echo "File removed"
fi

В этом примере команда rm используется для удаления файла. Если файл невозможно удалить или он не существует, Bash выполнит команду echo для вывода сообщения об ошибке. Для проверки статуса выхода команды удаления используется оператор if, который хранится в специальной переменной оболочки $?. Если статус выхода не равен нулю, в случае сбоя команды сообщение об ошибке выводится следующим образом:

Точно так же, если файл выйдет и будет удален, вывод будет таким:

Теперь вот тот же скрипт bash, который удаляет файл, но в этом скрипте я использовал оператор двойной трубы, и можно видеть, что код стал более понятным и читаемым:

#!/bin/bash

# Attempt to remove a file, and print an error message if it fails
rm /path/to/file || echo “File could not be removed”

В этом коде выполняется команда rm, а в случае сбоя выполняется команда echo для вывода сообщения об ошибке, и вот вывод этого скрипта в случае сбоя:

Теперь в первом сценарии оператор if используется для проверки состояния выхода команды rm, а затем в случае сбоя команды печатается сообщение об ошибке. Этот подход более многословен и требует больше строк кода. Кроме того, можно забыть проверить статус выхода команды, что может привести к ошибкам или неожиданному поведению в вашем скрипте.

В то время как во втором сценарии я использовал «||» оператора для упрощения обработки ошибок. Команда echo выполняется только в случае, если команда rm не удалась, так как в этом случае первый вход ложный. Этот подход более лаконичен и удобен для чтения, а также гарантирует, что сообщение об ошибке всегда печатается в случае сбоя команды.

Как правило, рекомендуется использовать «||» оператор в ваших bash-скриптах, чтобы упростить код и сделать его более читабельным. Однако важно отметить, что этот оператор работает только для простых случаев обработки ошибок, а в более сложных сценариях вам может потребоваться использовать более сложные методы.

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

Заключение

«||» Оператор (двойной канал) в Bash — это полезный оператор управления, который может упростить сценарии оболочки, позволяя условное выполнение команд на основе успеха или неудачи предыдущих команд. В этом руководстве подробно рассказывается о том, что означает этот оператор и как его можно использовать в скрипте bash с помощью примеров.

Статьи по данной тематике: