В этой статье мы рассмотрим, как использовать break и continue в скриптах bash.
В bash у нас есть три основные конструкции цикла (for, while, until).
Операторы break и continue встроены в bash и используются для изменения потока ваших циклов.
Эта концепция break и continue доступна в популярных языках программирования, таких как Python.
$ type -a break continue
Что делать, если вы не хотите полностью выходить из цикла, а пропускать блок кода при выполнении определенного условия?
Это можно сделать с помощью оператора continue.
Оператор continue пропускает выполнение блока кода, когда выполняется определенное условие, и управление передается обратно оператору цикла для следующей итерации.

Взгляните на приведенный ниже пример.

Это тот же пример, который мы использовали для демонстрации оператора break.

Теперь, когда Val оценивается как девять, оператор continue пропустит все оставшиеся блоки кода и передаст управление циклу for для следующей итерации.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      continue
  fi
  echo "printing ${val}"
done

Поведение break и continue такое же и в python.

Но python предоставляет еще один оператор управления циклом, называемый pass.

Pass похож на пустой оператор, и интерпретатор прочитает его, но не выполнит никаких операций.

В Bash нет аналогичного оператора, но мы можем эмулировать это поведение, используя ключевое слово true или двоеточие (:).

И true, и двоеточие являются встроенными в оболочку и не выполняют никаких операций.

$ type -a : true

Взгляните на приведенный ниже пример.

Когда условный оператор оценивается как истинный ($val = 9), тогда истинный оператор ничего не делает, и цикл будет продолжен.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      true
  fi
  echo "printing ${val}"
done

 

Поделитесь статьей:

Добавить комментарий