ÐÑÐµÐ¼Ñ Ð¸ СÑекло Так вÑпала ÐаÑÑа HD VKlipe Net
Оглавление:
- Баш в то время как петля
- Бесконечный цикл
- Читать файл построчно
- Перерыв и продолжение заявления
- Перерыв Заявление
- Продолжить заявление
- Вывод
Циклы являются одним из фундаментальных понятий языков программирования. Циклы удобны, когда вы хотите выполнить серию команд несколько раз, пока не будет выполнено определенное условие.
В языках сценариев, таких как Bash, циклы полезны для автоматизации повторяющихся задач. В скриптах Bash есть 3 базовых конструкции цикла: для цикла, цикла и и до цикла.
В этом руководстве объясняются основы циклов while в Bash, а также операторы break и continue для изменения потока цикла.
Баш в то время как петля
Цикл while используется для выполнения заданного набора команд неизвестное количество раз, пока данное условие оценивается как истинное.
Цикл Bash while принимает следующую форму:
while do done
Условие оценивается перед выполнением команд. Если условие оценивается как true, команды выполняются. В противном случае, если условие оценивается как ложное, цикл будет прерван, и управление программой будет передано следующей команде.
В приведенном ниже примере на каждой итерации цикл печатает текущее значение переменной
i
и увеличивает ее на единицу.
i=0 while do echo Number: $i ((i++)) done
Цикл повторения повторяется до тех пор, пока
i
меньше или равен двум. Он выдаст следующий вывод:
Бесконечный цикл
Бесконечный цикл - это цикл, который повторяется бесконечно и никогда не заканчивается. Если условие всегда оценивается как истинное, вы получаете бесконечный цикл.
В следующем примере мы используем встроенную команду
:
которая всегда возвращает true, чтобы создать бесконечный цикл. Вы также можете использовать встроенную команду
true
или любой другой оператор, который всегда возвращает true.
Цикл while выше будет работать бесконечно. Вы можете завершить цикл, нажав
Вот однострочный эквивалент: Одним из наиболее распространенных применений цикла while является построчное чтение файла, потока данных или переменной. В следующем примере цикл while будет построчно читать файл
Вместо того, чтобы управлять циклом while с условием, мы используем перенаправление ввода (
При чтении файла построчно всегда используйте
По умолчанию команда
Операторы break и continue могут использоваться для управления выполнением цикла while. Оператор break завершает текущий цикл и передает управление программой команде, которая следует за завершенным циклом. Обычно используется для завершения цикла при выполнении определенного условия. В следующем примере выполнение цикла будет прервано, когда текущий повторяющийся элемент будет равен
Оператор continue выходит из текущей итерации цикла и передает управление программой на следующую итерацию цикла. В нижеследующем ниже, когда текущий элемент с итерацией равен
К настоящему времени вы должны хорошо понимать, как использовать bash в цикле.
while: do echo "Press to exit." sleep 1 done
while: do echo "Press to exit." sleep 1 done
CTRL+C
while:; do echo 'Press to exit.'; sleep 1; done
while:; do echo 'Press to exit.'; sleep 1; done
Читать файл построчно
/etc/passwd
и печатать каждую строку.
file=/etc/passwd while read -r line; do echo $line done < "$file"
< "$file"
) для передачи файла в
read
которое является командой, управляющей циклом. Цикл while будет работать до тех пор, пока не будет прочитана последняя строка.
read
с опцией
-r
чтобы обратный слеш не действовал как escape-символ.
read
обрезает начальные / конечные пробельные символы (пробелы и символы табуляции). Используйте опцию
IFS=
перед командой
read
чтобы предотвратить это поведение
file=/etc/passwd while IFS= read -r line; do echo $line done < "$file"
Перерыв и продолжение заявления
Перерыв Заявление
2
.
i=0 while do echo "Number: $i" ((i++)) if]; then break fi done echo 'All Done!'
Продолжить заявление
2
оператор continue заставит выполнение вернуться к началу цикла и перейти к следующей итерации.
i=0 while do ((i++)) if]; then continue fi echo "Number: $i" done echo 'All Done!'
Number: 1 Number: 3 Number: 4 Number: 5 All Done!
Вывод
Китайские блоги для чтения во время Олимпийских игр
Оставаться дома этим летом вместо того, чтобы отправиться в Пекин? Нет проблем, когда вы проявляете интерес к гандболу команды и греко-римскому ...
Oracle выпуски вне цикла для исправления
Oracle выпустила аварийный патч для ошибки, он выпустил редкое предупреждение о безопасности для последних неделя.
Яблочный сон против цикла сна: какой из них работает лучше?
Apple, перед сном против цикла сна: Стоит ли доверять Apple контролировать ваш сон? Мы узнаем.







