Руководство и примеры циклов for в Bash

Цикл for является одним из основных операторов в различных языках программирования. Здесь мы объясним, как это используется в языке программирования bash - отсюда и название «bash for loop». Будьте готовы добавить новый инструмент в свой арсенал разработчика!
Цикл for - это оператор итерации, то есть вы можете выполнять код повторно. Допустим, вы хотите запустить инструкцию 5 раз. Вместо того, чтобы писать пять отдельных кодов, вы можете просто написать синтаксис цикла for один раз. Давай исследуем глубже, ладно?

Синтаксис цикла Bash

По сути, простейший синтаксис цикла for повторяет вхождение набора переменной. Синтаксис обычно выглядит так:
for VARIABLE in 1 2 3 4 5 .. N
Perform the below command:
    command1
    command2
    commandN
done
В реальном мире этот синтаксис будет выглядеть, как в примере ниже:
#!/bin/bash
for i in 1 2 3 4 5
do
 echo "Hello $i"
done
Выполнение файла bash вызовет следующий текст:
Hello 1
Hello 2
Hello 3
Hello 4 
Hello 5
Осмотрим каждый элемент:
  • #! / bin / bash - показывает, что код является сценарием bash
  • i - заполнитель для переменной. Между тем, $ i - это индивидуальное значение переменной. Вы также можете написать его как c / $ c или под любым другим именем
  • in - разделяет переменную и следующие элементы
  • 1 2 3 4 5 - это пример пунктов, по которым вы хотите выполнить инструкцию
  • do  - это ключевое слово, с которого запускаются циклы. Затем он выполнит инструкцию n раз, где n - общее количество элементов. Здесь значение n равно 5
  • echo «Hello: $ i» - это код, который мы повторим n раз. Помните, что кавычки превращают все, что находится внутри, в одну переменную.
  • готово - останавливает цикл
Вы можете написать код по-разному в зависимости от версии bash, которую вы используете:
Bash версии 3.0+ может сократить диапазон с помощью « . . ».
#!/bin/bash
for i in {1. .5}
do
  echo "Hai $i"
done
Bash версии 4.0+ позволяет использовать {START. .КОНЕЦ. .INCREMENT} синтаксис.
#!/bin/bash
for i in {0. .8. .2}
do
  echo "Hai $i"
done
Результат будет таким:
Hai 0
Hai 2
Hai 4
Hai 6 
Hai 8
Другие общие синтаксисы:
for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done
Или вот так:
for OUTPUT in $(Linux-Or-Unix-Command-Here)
do
    command1 on $OUTPUT
    command2 on $OUTPUT
    commandN
done

Примеры циклов Bash

Вы можете обновить синтаксис для выполнения нескольких операций. Помните, что прежде чем что-либо делать, вам необходимо войти на свой VPS-сервер. Если у вас возникли проблемы, это руководство укажет вам правильный путь. Между тем, если у вас возникли проблемы с bash, вам следует ознакомиться с нашим руководством по базовой функции bash. Помните, что функции bash должны быть в файле .sh . Чтобы создать его, выполните в командной строке следующее:
vim NameOfFile.sh
Это создаст файл .sh и откроет его в редакторе VIM. Вы можете узнать больше в ранее упомянутой статье об основных функциях bash.

Использование Bash For Loop для создания бесконечного цикла

После активации этот цикл будет продолжать выполнение кода, пока вы не остановите его нажатием Control + C. В этом случае термин «Hello World» будет продолжать появляться снова сам.
#!/bin/bash
for (( ; ; ))
do
  echo "Hello World!"
done

Использование Bash For Loop для создания цикла с тремя выражениями

Цикл состоит из трех записывающих выражений - инициализатора ( EXP1 ), условия ( EXP2 ) и счетного выражения ( EXP3 ). Иногда люди называют это циклом в стиле C из-за близкого сходства в структуре кода. Синтаксис этого цикла следующий:
for (( EXP1; EXP2; EXP3 ))
do
    command1
    command2
    command3
done
Вот пример, который вы можете попробовать:
#!/bin/bash
for (( c=1; c<=5; c++ ))
do  
  echo "Hai $c"
done
В коде написано, что начальное значение равно 1 . Цикл будет выполняться до тех пор, пока условие в EXP2 истинно, что означает, что оно не должно быть больше 5 . Кроме того, знак ++ показывает, что приращение равно 1 . Затем цикл будет повторяться один за другим, начиная с начального значения. Результат:
Hai 1
Hai 2
Hai 3
Hai 4 
Hai 5

Использование Bash for Loop для создания цикла пропуска и продолжения

Оператор continue пропускает цикл для указанного значения и продолжает цикл после этого. Вот как будет выглядеть синтаксис:
for I in 1 2 3 4 5
do
 if [condition]
 then
    continue   #Go to next iteration of I in the loop and skip statements3
 fi
 statement
done
Следуя синтаксису, мы можем создать цикл пропуска и продолжения bash, подобный этому:
for i in {1..5}
do
  if [[ "$i" == '4' ]]
  then
    continue
  fi
  echo "Hai $i4"
done
Результатом будет:
Hai 1
Hai 2
Hai 3
Hai 5
Поскольку значение 4 соответствует оператору continue, цикл не выполнил код и перешел к следующему значению, равному 5 .

Использование Bash for Loop для создания условного выхода с прерыванием цикла

Цикл позволяет остановить операцию, если она соответствует указанному условию. За этим может последовать другая инструкция. Вот синтаксис:
for I in 1 2 3 4 5
  do
  if [condition]
  then
    break
  fi
  statement
done
При использовании этой функции наш код будет выглядеть так:
for city in Manila Bangkok Jakarta Kuala Lumpur
do
  if [[ "$city" == 'Jakarta' ]]; then
    break
  fi
  echo "city: $city"
done

echo 'Yes, that’s all!'
И, наконец, вывод:
city: Manila
city: Bangkok
Yes, that’s all!
Оператор сообщает циклу прервать операцию, когда условие выполняется (поиск термина Джакарта ). Затем он выполнит второй код, который печатает текст с надписью «Да», и все.

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

Автору будет очень приятно узнать обратную связь о своем руководстве.

Комментариев 0