Bash For Loop в Linux
В этом руководстве мы покажем вам, как использовать bash for loop в системах Linux. Для тех из вас, кто не знал, циклы являются одной из фундаментальных концепций языков программирования. Циклы удобны, когда вы хотите запускать серию команд снова и снова, пока не будет достигнуто определенное условие. Как и любой другой язык программирования, сценарии оболочки bash также поддерживают циклы for для выполнения повторяющихся задач. Это помогает нам перебирать определенный набор операторов по серии слов в строке или элементам в массиве.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root.
Bash For Loop в Linux
Вы можете подать заявку на цикл в сценарии bash различными способами. В этой статье упоминаются некоторые полезные примеры BASH для циклов.
- Стандартный Bash для цикла
Вот пример того, как Bash For Loop принимает форму:
for item in [LIST] do [COMMANDS] done
- Над струнами
Теперь посмотрим на стандартный Bash for Loop over Strings:
for element in Gold Silver Diamond Platinum do echo "Element: $element" Done
- В диапазоне чисел
Давайте посмотрим на следующий пример, где он будет перебирать номера, начиная с:
from 2 to 6. for i in {2..6} do echo "Number: $i" done
- Элементы массива
Хотя цикл for можно использовать для чисел и строк, программисты могут даже использовать его для повторения в диапазоне. Например:
PLAYERS=('meilana' 'maria' 'ulfa') for player in "${PLAYERS[@]}"; do echo "Player: $player" done
- Утверждения прерывания и продолжения
Операторы break и continue могут использоваться для управления выполнением цикла for.
Заявление о перерыве
Чтобы использовать оператор break, пользователи должны указать конкретное условие, при выполнении которого цикл будет прерван. Программисты могут даже использовать оператор break, если они хотят остановить цикл for раньше запланированного:
for element in Gold Silver Diamond Platinum; do if [[ "$element" == 'Diamond' ]]; then break fi echo "Element: $element" done echo 'All Done!'
Продолжить заявление
Оператор continue завершает текущую итерацию цикла и передает управление программой следующей итерации цикла. Например, позвольте нам использовать оператор continue для итерации по диапазону чисел, и когда он достигнет определенного числа, которое в данном случае будет ‘6’, оператор continue выйдет из итерации и вернется к началу цикл, чтобы начать следующую итерацию:
for i in {2..8}; do if [[ "$i" == '6' ]]; then continue fi echo "Number: $i" done
Bash для примеров циклов
Существует два способа использования цикла For Loop в bash: один — в синтаксисе в стиле c , а другой — в формате for-in . Синтаксис цикла for в стиле c выглядит следующим образом:
for ((INITIALIZATION; TEST; STEP)) do [COMMANDS] done Meanwhile, as aforementioned, the ‘for-in’ loop will take the following form: for variable in list do Statements Done
Цикл для чтения входной переменной
Вот пример того, как вы можете использовать их для цикла. В этом примере мы возьмем входное значение текста, содержащего несколько слов, которые будут взяты после выполнения скрипта. Мы будем использовать цикл for, чтобы разделить предопределенный текст на основе пробелов. Затем убедитесь, что сценарий печатает каждое слово:
#!/bin/bash echo "Enter a text of multiple words" read text i=1 for word in $text do echo "Word No-$i = $word" ((i=$i+1)) done
Затем запустите следующий скрипт:
bash forloop1.sh
Цикл с оператором перерыва
Программисты могут использовать оператор цикла for для чтения и печати списка файлов и папок текущего каталога. Сначала создайте имя файла и выполните следующий сценарий. Пользователи должны помнить, что «*» используется для чтения файлов в цикле for. Функционирование цикла — это простой способ: каждый файл или папка читается на каждом этапе каталога и выводится на печать с выводом в терминал с пробелом «табуляция»:
printf "Pinting the files and folders of the current Directory...\n\n" for list in * do printf "$list\t" done printf "\n\nDone\n"
Затем запустите следующий сценарий:
bash forloop1.sh
Изменение расширения файла
Используя цикл for, можно изменить расширение всех файлов в текущем каталоге. Например, мы заменим весь файл .jpeg на файл .png, используя цикл for:
for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.png" done
Поздравляю! Вы успешно изучили цикл Bash For Loop с примерами. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Bash .