Чем больше скупость, тем больше жестокость (Ф. Петрарка).

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

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
11 февраля 2020
Bash Heredoc
В этой статье мы рассмотрим основы выражения последовательности в 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}

 

a b c d e f g h i j k l m n o p q r s t u v w x y z

 

Если значение START больше чем END, тогда выражение создаст диапазон, который уменьшается:

for i in {3..0}
do
  echo "Номер: $i"
done

 

Номер: 3
Номер: 2
Номер: 1
Номер: 0

 

INCREMENT используется как шаг между каждым сгенерированным элементом:

for i in {0..20..5}
do
  echo "Номер: $i"
done

 

Каждое сгенерированное число больше предыдущего на 5:

Номер: 0
Номер: 5
Номер: 10
Номер: 15
Номер: 20

 

При использовании целых чисел для генерации диапазона вы можете добавить в начало 0, чтобы у каждого числа была одинаковая длина. Для заполнения генерируются целые числа с префиксом ведущих нулей либо START и END с нулем:

for i in {00..3}
do
  echo "Номер: $i"
done

 

Номер: 00
Номер: 01
Номер: 02
Номер: 03

 

Выражение может иметь префикс или суффикс других символов:

echo A{00..3}B

 

A00B A01B A02B A03B

 

Если выражение построено неправильно, оно остается неизменным:

echo {0..}

 

0..

 

Вывод

Выражение последовательности в Bash позволяет генерировать диапазон целых чисел или символов.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close