Циклы (bash)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

Циклы

Сообщение BratSinot »

Доброго времени суток!

Как написать для bash простейший скрипт с циклом for или while, чтоб программа запускалась n раз? Я все перерыл, перепробовал кучу вариантов ничего не работает. Пришлось написать прогу на C которая работает через функция fork(), но это бред.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Циклы

Сообщение /dev/random »

Запустить 20 копий xterm:

Код: Выделить всё

for i in {1..20}; do
  xterm &
done


Или привычный для сишников вариант:

Код: Выделить всё

for (( i = 0; i < 20; i++ )); do
  xterm &
done
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Циклы

Сообщение sash-kan »

или ещё один вариант:
for i in $(seq 20); do xterm & done
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
BIgAndy
Сообщения: 1923

Re: Циклы

Сообщение BIgAndy »

sash-kan писал(а):
21.03.2011 20:43
или ещё один вариант:
for i in $(seq 20); do xterm & done

Внимательно смотрим http://rus-linux.net/nlib.php?name=/MyLDP/...h-guide-09.html
Спасибо сказали:
Ginzburg
Сообщения: 37
ОС: Windows Vista

Re: Циклы

Сообщение Ginzburg »

БигАнди ты не при делах, таком виде будет работать даже луче
Я конечно далек от мысли... (с)
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Циклы

Сообщение sash-kan »

Ginzburg писал(а):
28.04.2011 21:08
в таком виде будет работать даже лучше
Ginzburg писал(а):
28.04.2011 21:08
ОС: Windows Vista

я, конечно же, ни на что не намекаю.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: Циклы

Сообщение sciko »

Ginzburg писал(а):
28.04.2011 21:08
БигАнди ты не при делах, таком виде будет работать даже луче

Кто-то может понять этого нерусского? Спрашиваю как карел ^_^
Спасибо сказали:
Ginzburg
Сообщения: 37
ОС: Windows Vista

Re: Циклы

Сообщение Ginzburg »

код
for i in $(seq 20); do xterm & done

абсолютно рабочий и вполне соответствующий техзаданию

если вы таки думаете, извращение

seq 20 | awk '{ system("xterm&") }'
Я конечно далек от мысли... (с)
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Циклы

Сообщение drBatty »

BratSinot писал(а):
21.03.2011 20:32
Как написать для bash простейший скрипт с циклом for или while, чтоб программа запускалась n раз? Я все перерыл

????
BratSinot писал(а):
21.03.2011 20:32
ОС: Slackware64

?????????????????????

man bash
while list; do list; done
until list; do list; done
The while command continuously executes the do list as long as the last command in list returns an
exit status of zero. The until command is identical to the while command, except that the test is
negated; the do list is executed as long as the last command in list returns a non-zero exit sta‐
tus. The exit status of the while and until commands is the exit status of the last do list com‐
mand executed, or zero if none was executed.

OS Slackware...

Ginzburg писал(а):
28.04.2011 23:15
for i in $(seq 20); do xterm & done

абсолютно рабочий и вполне соответствующий техзаданию

в скрипте & не сработает. попробуйте.
нужно в суб-шел обворачивать.
Ginzburg писал(а):
28.04.2011 23:15
seq 20 | awk '{ system("xterm&") }'

можно
echo "aaaaaaaaaaaaaaaaaaaaa" | sed ':l;s/.//;T;x;s/.*/xterm \&/e;x;tl'
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Циклы

Сообщение sash-kan »

drBatty писал(а):
29.04.2011 10:14
в скрипте & не сработает
умвр. чяднт?

p.s. os: gnu
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5456
ОС: Gentoo

Re: Циклы

Сообщение /dev/random »

drBatty писал(а):
29.04.2011 10:14
в скрипте & не сработает. попробуйте.
нужно в суб-шел обворачивать.

В смысле, "не сработает"? УМВР, ЧЯДНТ?

Upd: sash-kan опередил, и почти дословно ))
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Циклы

Сообщение sash-kan »

/dev/random писал(а):
29.04.2011 10:35
почти дословно
а чё, одна шайка-лейка.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Циклы

Сообщение drBatty »

sash-kan
/dev/random
ладно, в таком простом случае сработает ;)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Циклы

Сообщение Ленивая Бестолочь »

Изображение
блин, работает :)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали: