Цикл for в shell для программистов на Си 3
Рецепт был опубликован 21 января 2011 года в 20:34, а менялся 10 февраля 2020 года в 03:30.
Постоянная ссылка: https://www.nixp.ru/recipes/41.html
Все программисты на Си любят такие циклы:
for ( int i = 0; i != 15; ++i) {
printf("%d\n", i);
}
Проще всего на shell это будет так:
#!/bin/bash
for i in `seq 0 14`; do
echo $i
done
Кроме этого можно задавать шаг:
$ seq 42 -2 38 42 40 38
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.


Хороший рецепт, обязательно воспользуюсь.
Баш умеет арифметику. Можно писать так:
На самом деле ближе всего такой код, конечно, программистам на python.
Первый пример на python:
Второй:
P.S. Стоит помнять, что seq включает вторую границу, а range — нет.
Ну если уж мы будем вдаваться в такие тонкости, то стоит отметить, что цикл с которого весь сыр-бор начался — это объект любви программистов C++. Программист на C избирает несколько иной стиль:
int i;
/*… */
for (i = 0; i < 15; i ++) {
/* бла-бла-бла */
}
C++ программисты используют != вместо <, в силу привычек выработанных работой с итераторами из STL. А C-программисты, в то же время, привыкли объявления локальных переменных помещать в начало функции, а не разбрасывать по всему телу функции.