Руководство и примеры циклов for в Bash
Цикл for является одним из основных операторов в различных языках программирования. Здесь мы объясним, как это используется в языке программирования bash - отсюда и название «bash for loop». Будьте готовы добавить новый инструмент в свой арсенал разработчика!
Цикл for - это оператор итерации, то есть вы можете выполнять код повторно. Допустим, вы хотите запустить инструкцию 5 раз. Вместо того, чтобы писать пять отдельных кодов, вы можете просто написать синтаксис цикла for один раз. Давай исследуем глубже, ладно?
Bash версии 3.0+ может сократить диапазон с помощью « . . ».
Цикл 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 версии 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