Итак, начнем с входа в систему из системы Ubuntu 20.04. Чтобы начать реализацию примеров, мы должны убедиться, что оболочка терминала была открыта с помощью «Ctrl+Alt+T».
Давайте начнем эту статью с нашего первого примера использования цикла while с условием «Истина». Но перед этим нам нужно создать Bash-файл с командой touch терминальной оболочки Ubuntu 20.04. Назовите файл Bash как «bash.sh». Этот файл будет создан в домашней папке Linux. Вы можете использовать любой встроенный редактор системы Ubuntu 20.04, чтобы открыть и создать код в файле Bash. Вместо использования инструкции «nano» с заголовком файла просто используйте редактор GNU Nano в оболочке терминала. Он откроет ваш пустой файл в терминале, как экран редактора GNU Nano.
Поскольку в нашем коде необходимо использовать цикл while true, нам придется добавить поддержку Bash в первую строку кода. После этого мы начали наш однострочный цикл while с истинным условием. Это истинное условие означает, что цикл будет продолжать выполняться до тех пор, пока какое-либо внешнее действие принудительно не остановит его. В его предложении do мы использовали оператор echo для отображения строки символов «Продолжить…» до тех пор, пока цикл не будет выполнен в оболочке. Предложение done означает, что здесь цикл while завершен.
Давайте проверим, как этот однострочный цикл while «true» выводится в оболочке терминала после сохранения этого кода с помощью сочетания клавиш Ctrl+S. Нажмите Ctrl+X, чтобы выйти из файла. На приложенном скриншоте вы можете просмотреть файл кода:
#!/bin/bash while true; do echo "Продолжить… "; done
Пришло время выполнить наш код Bash с инструкцией «Bash» в оболочке, как показано ниже:
$ bash bash.sh
Этот цикл будет продолжать выполняться и отображать строковое значение «Продолжить…» в своем операторе эха, пока мы принудительно не остановим его выполнение. Для этого нам нужно нажать сочетание клавиш «Ctrl + Z», чтобы цикл и программу можно было остановить. В противном случае он будет продолжать выполняться.
В первом примере мы увидели, как использовать цикл while true для непрерывного отображения строкового значения в оболочке без остановки. В этом примере мы выполним довольно похожее действие с немного другой функциональностью. Итак, вам нужно открыть тот же файл Bash и добавить поддержку Bash через его путь /bin/bash. Инициализируйте переменную «X» значением 1, как показано ниже. Цикл while запущен с условием «ture». В его части «выполнить» мы столкнулись с оператором «echo» для отображения текущего значения x. Кроме того, мы использовали встроенное предложение «let» в части «do», чтобы каждый раз увеличивать значение переменной «x» на 1.
После приращения функция сна использовалась для 3-секундного сна во время выполнения. После всех этих 3 шагов в части «выполнить» наш цикл while будет продолжать повторять этот процесс до тех пор, пока программа не будет завершена из-за какой-либо внешней активности. Часть «done» показывает, что цикл завершен. Давайте сохраним этот код и запустим его в оболочке. На приложенном скриншоте вы можете просмотреть файл кода:
#!/bin/bash x=1 while true; do echo "Значение x: $x"; let x++; sleep 3; done
После запуска этого кода с инструкцией «Bash» цикл while начал выполняться. Он отображает каждое значение «x» с самого начала и приостанавливается на 3 секунды на каждой итерации после приращения. Затем будет распечатано следующее увеличенное значение, и процесс продолжится. Вывод показан на следующем снимке экрана для предыдущего кода:
$ bash bash.sh
Чтобы остановить этот безостановочный цикл, мы нажали Ctrl+Z, как показано ниже.
Давайте возьмем наш последний пример, чтобы использовать условие, отличное от true, в цикле while. Итак, мы начали код Bash с инициализации переменной «x» значением 2. Цикл while принимает условие в своих квадратных скобках. Он использует оператор «-lt», чтобы проверить, меньше ли значение «x» 7 или нет. Если условие выполнено, часть «do» будет выполнена. Следовательно, оператор echo будет отображать значение «x» и увеличивать его на 1, используя «x=&(($x+1))», как показано. После достижения 7 цикл автоматически остановился в соответствии с пунктом «done». Сохраним наш код Ctrl+S и выйдем из него Ctrl+X.
# bash. sh x=2; while [[ $x -lt 7 ]] do echo "Значение: $x" x=$(( $x + 1 )) done
Теперь запустите файл Bash с запросом «Bash», показанным на изображении ниже. Цикл выполняется и продолжает отображать значение «x», пока оно не достигнет 7 при увеличении.
$ bash bash.sh
Эта статья было посвящено использованию цикла “while true” в скрипте Bash. Мы обсудили использование цикла while true с очень простыми кодами Bash и обратились к циклу while без «true» условия. Это было сделано для четкого сравнения обоих обстоятельств и того, как справляться с ними по отдельности. Мы надеемся, что вы нашли эту статью полезной.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята