Поиск по сайту:
Все ясно ревности — а доказательств нет! (М.Ю. Лермонтов).

Создание бесконечного цикла Bash с помощью примеров сценариев

27.12.2022
Создание бесконечного цикла Bash с помощью примеров сценариев

Каждый цикл имеет конечную продолжительность жизни, и в зависимости от цикла он заканчивается, когда условие либо истинно, либо ложно. Бесконечный цикл bash — это просто последовательность инструкций, которая повторяется бесконечно. У него нет конечного условия, условия, которое никогда не выполняется, или условия, которое стимулирует новую итерацию цикла. Бесконечный цикл bash можно создать с помощью циклов for, while и until. Немного изменив традиционный синтаксис бесконечного цикла, мы можем реализовать сценарии бесконечного цикла bash. Здесь нам необходимо создать цикл, который непрерывно выполняет команды до тех пор, пока он не будет принудительно остановлен извне программы.

 

Пример № 1: бесконечный цикл while на примерах скриптов

Когда цикл выполняется бесконечно без какого-либо завершения, мы рассматриваем этот цикл как бесконечный цикл. Цикл while также может стать бесконечным циклом, если условие указано с помощью команды «true». Команда true не выполняет никаких задач и успешно возвращает код выхода «0». Здесь мы предоставили сценарий bash, в котором выполняется операция бесконечного цикла while. Цикл while принимает команду «true», которая используется только для удобочитаемости. Мы также можем оставить нулевую команду циклу while, поскольку она выполняется так же, как и истинная команда. Далее, с оператором «do» мы выполнили команду echo. Цикл while закрывается ключевым словом «done».

while true
do
echo "Выполните какую-нибудь задачу; Нажмите [CTRL+C], чтобы остановить!"
done

 

Во время выполнения мы открыли терминал и запустили команду bash «./bash1.sh». Когда файл bash выполняется, он работает бесконечно и бесконечно печатает команду echo в терминале. Обратите внимание, что здесь мы взяли команду «true» для цикла while, но можно указать и команду «false».

Читать  Как перенаправить stderr на стандартный вывод в Bash

 

Пример #2: Бесконечный цикл for на примерах скриптов

Простая структура бесконечного цикла демонстрируется на примере скрипта. Мало того, что цикл while имеет функцию бесконечного цикла, мы можем иметь цикл for, который также работает бесконечно. Бесконечный цикл for также ведет себя так же, как и бесконечный цикл while. Здесь у нас есть сценарий бесконечного цикла for, в котором мы сначала объявили «цикл for», указанный без каких-либо условий и параметров. Он также успешно выполнен, потому что по умолчанию он установлен с командой true. После этого мы вызвали оператор echo с помощью ключевого слова «do». Мы также дали инструкции командам «сна» с оператором echo, а затем цикл while завершился оператором «done».

for (( ; ; ))
do
echo "Привет оболочка Bash"
sleep 1
done

 

Сценарий бесконечного цикла for продолжает печатать оператор echo в терминале.

 

Пример #3: Бесконечный цикл до тех пор, пока примеры скриптов

Другой способ создать бесконечный цикл bash — использовать цикл until. Цикл until выполняет итерацию по блоку команд до тех пор, пока требуемое условие не станет ложным. Цикл «until» становится бесконечным, если условие в операторе цикла всегда ложно. Бесконечный цикл, созданный до тех пор, пока не будет таким же, как мы дали сценарии для бесконечных циклов while и for. Бесконечный цикл «until» просто использует ключевое слово «do». Ниже мы предоставили скрипт bash с бесконечным циклом, где мы начинаем скрипт с объявления переменной «statement» и устанавливаем для нее значение «false». Затем мы определили переменную «loop_no», которая устанавливается со счетчиком «0».

Читать  Как использовать команду Jobs в Linux

После этого мы указали оператор «until», который принимает «$statement» в качестве выражения. Затем между операторами do и done используется ключевое слово echo. Здесь команда echo печатает количество циклов цикла, пока не будут возвращены ложные результаты. В каждом цикле цикла число будет увеличиваться. Мы использовали команду sleep в бесконечном цикле until для периодического выполнения скрипта.

#!/bin/bash
statement=false
loop_no=0
until $statement
do
echo "Цикл номер : $loop_no"
((loop_no++))
sleep 1
done

 

Сценарий бесконечного цикла при выполнении продолжает бесконечно отображать циклы цикла на терминале.

 

Пример № 4: Бесконечный цикл на примерах скриптов с оператором Break

Иногда нам нужно вырваться из бесконечной петли. Бесконечный цикл также может существовать с оператором break. Бесконечный цикл должен заканчиваться, если выполняется определенный критерий. При использовании оператора break, цикл завершается или управление переходит к следующему оператору. Здесь мы использовали оператор break в сценарии bash. Во-первых, мы установили скрипт с выражением цикла while, которое принимает истинное значение. Затем мы дали команду print, используя модификатор echo. После этого у нас есть оператор if, который проверяет, выполнено ли условие или нет. Затем у нас есть оператор «break», который прерывает здесь цикл while.

#!/usr/bin/env bash
while true
do
echo "Нажмите [CTRL+C], чтобы выйти из цикла..."
sleep 2
if [ condition ]
then
break
fi
done

 

Когда оператор echo выполняется успешно, оператор break прерывает цикл while.

 

Пример №5: Бесконечный цикл с условием на примерах скриптов

Теперь мы взяли сценарий, чтобы преодолеть это выполнение бесконечного цикла с помощью другого метода. Когда цикл получает условие, он завершается там, где это указанное условие выполняется. Сценарий цикла while реализован ниже, где мы сначала установили переменную «x» со значением «10». Затем мы указали цикл while, в котором дается выражение “while [ $x -gt 5 ]”. В выражении есть переменная «$x», которая должна быть больше «5», так как оператор «gt» между значением «5» и переменной «$x». После этого мы определили оператор echo, в котором вызывается «$x» для вывода значений. Оператор «x–» уменьшает значение «$x» на каждой итерации.

#!/usr/bin/bash
x=10
while [ $x -gt 5 ];
do
echo $x
((x--))
done
echo "Результаты вне цикла"

 

Читать  Как перезагрузить Linux с помощью командной строки

Изображение отображало завершение цикла while, когда значение «x» достигло значения «6». Здесь условие становится ложным, потому что значение следующей итерации будет «5», что не удовлетворяет условию while. Кроме того, мы также можем использовать оператор continue, который используется для предотвращения выполнения блока кода.

 

Заключение

Руководство помогает нам создать бесконечный цикл bash, который продолжает работать постоянно, потому что ему не задано конечное условие. Мы предоставили пример скрипта bash, в котором мы создали бесконечный цикл, используя циклы while, for и while. После создания примера bash с бесконечным циклом мы указали способы преодоления этих бесконечных циклов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Это может показаться неожиданным заявлением, но вот что: иногда может…

Спасибо!

Теперь редакторы в курсе.