
В этой статье мы рассмотрим основы выражения последовательности в Bash.
Выражение последовательности в Bash генерирует диапазон целых чисел или символов, определяя начальную и конечную точки диапазона. Обычно оно используется в сочетании с циклами for .
Выражение последовательности Bash
Выражение последовательности принимает следующий вид:
{ START..END [ ..INCREMENT ]}
- Выражение начинается с открывающейся фигурной скобки и заканчивается закрывающейся фигурной скобкой.
-
STARTиENDмогут быть как положительными целыми числами, так и отдельными символами. - Значения
STARTиENDявляются обязательными и разделены двумя точками.., без пробела между ними. - Значение
INCREMENTнеобязательно. Если оно присутствует, оно должно быть отделено от значенияENDдвумя точками..без пробела между ними. При наличии символов выражение раскрывается в лексикографическом порядке. - Выражение расширяется до каждого числа или символа между
STARTиEND, включая предоставленные значения. - Неправильно сформированное выражение остается без изменений.
Вот выражение в действии:
echo { 0..3 }
Если INCREMENT не указан, приращение по умолчанию равно 1:
0 1 2 3
Вы также можете использовать другие символы. В примере ниже показан алфавит:
echo { a..z }
abcdefghijklmnopqrstu vwxyz
Если значение START больше значения END , то выражение создаст диапазон, который уменьшается:
for i in { 3..0 } do echo "Number: $i " done
Number: 3 Number: 2 Number: 1 Number: 0
Если задано INCREMENT , оно используется в качестве шага между каждым сгенерированным элементом:
for i in { 0..20..5 } do echo "Number: $i " done
Каждое сгенерированное число больше предыдущего на 5:
Number: 0 Number: 5 Number: 10 Number: 15 Number: 20
При использовании целых чисел для создания диапазона можно добавить начальный 0 , чтобы обеспечить одинаковую длину всех чисел. Чтобы дополнить сгенерированные целые числа начальными нулями, добавьте ноль к START или END :
for i in { 00..3 } do echo "Number: $i " done
Number: 00 Number: 01 Number: 02 Number: 03
Выражение может иметь префикс или суффикс с другими символами:
echo A { 00..3 } B
A00B A01B A02B A03B
Если выражение построено неправильно, оно остается без изменений:
echo { 0.. }
0..
Заключение
Выражение последовательности Bash позволяет генерировать диапазон целых чисел или символов.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства