Выражение последовательности Bash (диапазон)

Bash For Loop

В этой статье мы рассмотрим основы выражения последовательности в 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 позволяет генерировать диапазон целых чисел или символов.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

терминал цикла bash

Связанные руководства

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *