Отправляет email-рассылки с помощью сервиса Sendsay

while в шелл

В шелл скриптах нельзя использовать вложеные while, for друг в друга?
Если нет, то как можно это обходить?

Если что-то вроде этого, то всегда ошибка:
#!/bin/sh

fcout=1
scout=0

while [ $fcout -le "18" ]
do

while [ $scont -le "99" ]
do
...
scout=`expr $scout +1`
done
fcout=`expr $fcout + 1`
done

exit 0

-*Название листа "[BSD] Решение вопросов по FreeBSD, OpenBSD и NetBSD";
Написать в лист: mailto:comp.soft.bsd.all-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.bsd.all/rules
Номер письма: 2861; Возраст листа: 842; Участников: 923
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.bsd.all/msg/564573

Ответить   Fri, 23 Jun 2006 22:55:48 +0400 (#564573)

 

Ответы:

exlex пишет:

Попробуй так
#!/bin/bash
fcout=1

while [ "$fcout" -le "18" ]
do
scout=0
while (( scout <= 99 ))
do
scout=`expr $scout + 1`
echo "scout=$scout"
done

fcout=`expr $fcout + 1`
echo "fcount=$fcout"
done

exit 0

Ответить   Tue, 27 Jun 2006 16:26:47 +0500 (#565855)

 

exlex пишет:

....

#!/bin/sh
fcout=1

while [ "$fcout" -le "18" ]
do
scout=0
while [ "$scout" -le "99" ]
do
scout=`expr $scout + 1`
echo "scout=$scout"
done

fcout=`expr $fcout + 1`
echo "fcount=$fcout"
done

exit 0

Это тоже сработало

Ответить   Tue, 27 Jun 2006 16:35:41 +0500 (#565860)

 

Hello exlex,

Friday, June 23, 2006, 10:55:48 PM, you wrote:

во всех языках программирования цыкл while описывается более
приближенно к логике ассамблера - условие-действие-возврат
попробуй заменить на комплект операторов или используй
#!/bin/сsh
он более продвинутый
Лично я, когда нужно быстро извернутся использую
#!/usr/local/bin/perl
командному интепритатору по барабану, какой интепритатор будет
работать, а возможностей становится больше

Ответить   Igor Maximov Wed, 28 Jun 2006 03:15:12 +0400 (#566053)