Цикл for в shell для программистов на Си 3
Рецепт был опубликован 21 января 2011 года в 20:34, а менялся 10 февраля 2020 года в 03:30.
Постоянная ссылка: http://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 декабря в 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
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Хороший рецепт, обязательно воспользуюсь.
Баш умеет арифметику. Можно писать так:
На самом деле ближе всего такой код, конечно, программистам на python.
Первый пример на python:
Второй:
P.S. Стоит помнять, что seq включает вторую границу, а range — нет.
Ну если уж мы будем вдаваться в такие тонкости, то стоит отметить, что цикл с которого весь сыр-бор начался — это объект любви программистов C++. Программист на C избирает несколько иной стиль:
int i;
/*… */
for (i = 0; i < 15; i ++) {
/* бла-бла-бла */
}
C++ программисты используют != вместо <, в силу привычек выработанных работой с итераторами из STL. А C-программисты, в то же время, привыкли объявления локальных переменных помещать в начало функции, а не разбрасывать по всему телу функции.