URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 988
[ Назад ]

Исходное сообщение
"Что с шелом твориться?"

Отправлено SwitchTX , 19-Сен-02 16:23 
Есть прога
# ! /bin/sh
set DAT=04
set MNTH=09
cd /usr/home/kostyavb/${MNTH}
...
set i=1
while [ $i -le 254 ]
    do
        echo $i
        set i=`expr $i + 1`
    done
#

Короче в результате выполнения программы она выводит
while: Expression Syntax.
и хоть ты тресни...
Да, система FREEBSD 4.5

Где копать? оно мне нужно.
Ребята, перл и си просьба не предлагать. я в них не шарю:-)


Содержание

Сообщения в этом обсуждении
"RE: Что с шелом твориться?"
Отправлено Аноним , 19-Сен-02 20:26 
>Есть прога
># ! /bin/sh
>set DAT=04
>set MNTH=09
>cd /usr/home/kostyavb/${MNTH}
>...
>set i=1

set устанавливает опции шелла. А переменной i не создает.
Вам нужно просто убрать set здесь...
i=1
>while [ $i -le 254 ]
>    do
>        echo $i
>        set i=`expr $i + 1`
... и здесь
         i=`expr $i+1`
>    done
>#
>
>Короче в результате выполнения программы она выводит
>while: Expression Syntax.
>и хоть ты тресни...
>Да, система FREEBSD 4.5
>
>Где копать? оно мне нужно.
>Ребята, перл и си просьба не предлагать. я в них не шарю:-)
>



"RE: Что с шелом твориться?"
Отправлено SwitchTX , 20-Сен-02 12:34 
>>set DAT=04
>>set MNTH=09

>>set i=1
>
>set устанавливает опции шелла. А переменной i не создает.
>Вам нужно просто убрать set здесь...
>i=1
>>while [ $i -le 254 ]
>>    do
>>        echo $i
>>        set i=`expr $i + 1`
>... и здесь
>         i=`expr $i+1`
>>    done
>>#
>>

Хорошо, а почему тогда действуют первые 2 строчки,
Это конечно не переменные, но...
Может это относится именно к переменным?


"RE: Что с шелом твориться?"
Отправлено SwitchTX , 20-Сен-02 12:38 
нет так тоже не работает.
пишет:
...
i=1: Command not found.
i: Undefined variable.
...



"RE: Что с шелом твориться?"
Отправлено Soldier , 20-Сен-02 13:11 
>нет так тоже не работает.
>пишет:
>...
>i=1: Command not found.
>i: Undefined variable.
>...


Shell у вас левый. Если есть bash то поставьте первой строкой #!/bin/bash и все будет нормально, а здесь попробуйте let:

let "i=1"

....

let "i=i+1"


"RE: Что с шелом твориться?"
Отправлено SwitchTX , 20-Сен-02 13:20 
>Shell у вас левый. Если есть bash то поставьте первой строкой #!/bin/bash
я это почувствовал, но тоже самое твориться и из-под bash.
Может переустановить шелл?
киньте ссылку, откуда можно скачать или увидеть что качать. Я новичек еще...
>и все будет нормально, а здесь попробуйте let:
>
>let "i=1"
>
>....
>
>let "i=i+1"

пишет:
let: Command not found.
i: Undefined variable.


"RE: Что с шелом твориться?"
Отправлено Soldier , 20-Сен-02 13:38 
>>Shell у вас левый. Если есть bash то поставьте первой строкой #!/bin/bash
>я это почувствовал, но тоже самое твориться и из-под bash.
>Может переустановить шелл?
>киньте ссылку, откуда можно скачать или увидеть что качать. Я новичек еще...
>
>>и все будет нормально, а здесь попробуйте let:
>>
>>let "i=1"
>>
>>....
>>
>>let "i=i+1"
>
>пишет:
>let: Command not found.
>i: Undefined variable.


Нашел я у себя "левый" shell  у меня работает так:

set i = 1
while ($i != 254 )
set i=`expr $i + 1`
echo $i
end

Может и у вас пройдет

P.S.Мне этот синтаксис нравится больше :-)))