Osin
|
member
|
|
|
|
Рег.: 06.09.2006
|
Сообщений: 153
|
|
Рейтинг: 12
|
|
Shell скрипт
20.05.2007 20:03
|
|
|
Как написать его в линухе, в частности, у меня проблема с циклом. Как ему задать, что переменная изменяется от такого до такого значения с таким то шагом?
|
|
Eridan
|
Банкуфанки?
|
|
|
|
Рег.: 20.07.2004
|
Сообщений: 2210
|
Из: Планета Земля
|
Рейтинг: 54
|
|
Re: Shell скрипт
[re: Osin]
20.05.2007 20:43
|
|
|
|
Osin
|
member
|
|
|
|
Рег.: 06.09.2006
|
Сообщений: 153
|
|
Рейтинг: 12
|
|
|
у меня есть книга на руках и если бы было все так простл, я бы не спрашивала.
|
|
Joe_Bishop
|
Carpal Tunnel
|
|
|
|
Рег.: 05.09.2005
|
Сообщений: 5597
|
|
Рейтинг: 154
|
|
Re: Shell скрипт
[re: Osin]
20.05.2007 20:49
|
|
|
странно, что тебе понадобилось пробегать последовательность членов арифметической прогрессии. опиши, в чем состоит задача Но если вдруг действительно нужны числа (обычно это для заполнения файлов), то ботай man seq Пример:
code:
for i in `seq 0 1 200`; do
echo $i
done
|
|
Osin
|
member
|
|
|
|
Рег.: 06.09.2006
|
Сообщений: 153
|
|
Рейтинг: 12
|
|
|
Блин, ну неужели так сложно ответить. Сразу становиться понятно, что наверняка, вы и сами то не знаете.
|
|
Joe_Bishop
|
Carpal Tunnel
|
|
|
|
Рег.: 05.09.2005
|
Сообщений: 5597
|
|
Рейтинг: 154
|
|
Re: Shell скрипт
[re: Osin]
20.05.2007 20:53
|
|
|
пост дилитед бай Джо_Бишоп
Редактировал Joe_Bishop (20.05.2007 21:02)
|
|
Osin
|
member
|
|
|
|
Рег.: 06.09.2006
|
Сообщений: 153
|
|
Рейтинг: 12
|
|
|
Да не, сорри. Просто я злюсь. Мне надо написать цикл, чтобы запускать пинг при разных параметрах.
|
|
Osin
|
member
|
|
|
|
Рег.: 06.09.2006
|
Сообщений: 153
|
|
Рейтинг: 12
|
|
|
Poster: Joe_Bishop Subject: Re: Shell скрипт
сама дура
Я тебя обожаю. У меня похоже все заработало
|
|
doktork
|
addict
|
|
|
|
Рег.: 22.10.2006
|
Сообщений: 684
|
|
Рейтинг: 41
|
|
Re: Shell скрипт
[re: Osin]
20.05.2007 22:28
|
|
|
синтаксис bash (скорее он то и стоит) очень похож на С и perl, с учетом того, что можно выполнять команды окружения прямо из скрипта
|
|
KOHTPA
|
Carpal Tunnel
|
|
|
|
Рег.: 22.01.2003
|
Сообщений: 33647
|
|
Рейтинг: 2374
|
|
|
> for i in `seq 0 1 200`; do
Все время радуют такие люди, которые не задумываются, что seq может выдать чуть больше, чем 16384 или сколько там в линуксе строк.
--- "Аллах не ведет людей неверных."
|
|
Joe_Bishop
|
Carpal Tunnel
|
|
|
|
Рег.: 05.09.2005
|
Сообщений: 5597
|
|
Рейтинг: 154
|
|
|
|
glebius
|
geek
|
|
|
|
Рег.: 07.12.2002
|
Сообщений: 45226
|
|
Рейтинг: 13030
|
|
|
Кохтпа все правильно сказал. Такой метод организации цикла - неправильный.
|
shut up and code |
|
tmp_bot_174
|
s/n 666
|
|
|
|
Рег.: 07.10.2005
|
Сообщений: 3565
|
Из: The Vault
|
Рейтинг: 245
|
|
|
Quote:
Такой метод организации цикла - неправильный.
+1.
|
|
|
Joe_Bishop
|
Carpal Tunnel
|
|
|
|
Рег.: 05.09.2005
|
Сообщений: 5597
|
|
Рейтинг: 154
|
|
|
seq _0_ _1_ _200_ всего будет выведено100-200 - 101 слово по 3 знака. потом 10-99 - 89 слов по 2 знака, и 10 слов по одному знаку. Итого: в словах будет 303+178+10=491 знак в этих словах. Прибавим 201 символ разделения, даже 3*201. Будет 491+603=1094 знака, что намного меньше чем 16384
ЗЫ про code:
i=0
while [ $i -le 200 ]; do
........
i = $((i+1))
done
я конечно знаю, только букав много, имхо
|
|
KOHTPA
|
Carpal Tunnel
|
|
|
|
Рег.: 22.01.2003
|
Сообщений: 33647
|
|
Рейтинг: 2374
|
|
|
В исходной постановке вопроса не упомянуты ограничения, если бы ты сразу сказал, что твое решение для коротких циклов, то и нареканий не возникло бы.
--- "Аллах не ведет людей неверных."
|
|
SerD
|
RIP
|
|
|
|
Рег.: 31.07.2005
|
Сообщений: 6074
|
|
Рейтинг: 375
|
|
|
еще так можно
code:
for ((i=0; i<200 ; i++))
do
...
done
|
|
|
gadfather
|
Carpal Tunnel
|
|
|
|
Рег.: 05.11.2003
|
Сообщений: 47302
|
Из: пл. Гагарина
|
Рейтинг: 16961
|
|
|
code: $ for i in `seq 0 100000` ; do echo $i ; done | tail
99991
99992
99993
99994
99995
99996
99997
99998
99999
100000
Что я делаю не так?
|
You can't always get what you want |
|
glebius
|
geek
|
|
|
|
Рег.: 07.12.2002
|
Сообщений: 45226
|
|
Рейтинг: 13030
|
|
Re: Shell скрипт
[re: SerD]
21.05.2007 13:40
|
|
|
А линуксоиды опять забывают про то, что bash это не POSIX shell.
|
shut up and code |
|
BorisL
|
постоянный отец
|
|
|
|
Рег.: 23.02.2004
|
Сообщений: 17631
|
Из: torrent.msu
|
Рейтинг: 3560
|
|
|
code: ~>for i in `seq 0 100000` ; do echo $i ; done | tail
zsh: command not found: seq
а я что неверно делаю?
|
|
gadfather
|
Carpal Tunnel
|
|
|
|
Рег.: 05.11.2003
|
Сообщений: 47302
|
Из: пл. Гагарина
|
Рейтинг: 16961
|
|
|
это интерикс что ли?
|
You can't always get what you want |
|