The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Не могу понять в чём проблема"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Не могу понять в чём проблема" 
Сообщение от gadpolzuchiy Искать по авторуВ закладки(ok) on 21-Мрт-05, 04:30  (MSK)
Здравствуйте!

Только начал изучать юникс и тут возникла такая проблема.
Пытаюсь написать скрипт, простейший, в цикле выводить что-нибудь.
Пример:

#!/bin/sh
#
i=1

while [ $i -lt 254 ]
do
echo $i
i='expr $i+1'
done

Больше ничего в этом скрипте нету. При запуске выдаёт сообщение:
line 5: [: too many arguments

Помогите!!! В чём грабли?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Не могу понять в чём проблема" 
Сообщение от allez Искать по авторуВ закладки(ok) on 21-Мрт-05, 06:14  (MSK)
Посмотрите здесь: http://linuxportal.ru/forums/index.php/m/56674/
Кстати, это что, учебное задание по информатике? Скрипты совершенно
одинаковые и ошибки в них одинаковы...
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Не могу понять в чём проблема" 
Сообщение от gadpolzuchiy Искать по авторуВ закладки(??) on 21-Мрт-05, 07:03  (MSK)
>Посмотрите здесь: http://linuxportal.ru/forums/index.php/m/56674/
>Кстати, это что, учебное задание по информатике? Скрипты совершенно
>одинаковые и ошибки в них одинаковы...

Говорит ссылка неправильная.
Это не учебное задание, просто был скрипт нарыт, автор которого утверждал в его работоспособности, при попытке запустить у себя было получено то же самое сообщение об ошибке.
Решил просто выбрабрать кусок с циклом и посмотреть, т.к. на остальное не ругалось.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Не могу понять в чём проблема" 
Сообщение от allez Искать по авторуВ закладки(ok) on 21-Мрт-05, 07:36  (MSK)
За ссылку пардон, не до конца выделил перед копированием.
Вот так работает: http://linuxportal.ru/forums/index.php/m/56674/?
Ну и на всякий случай (если опять не сработает) объяснение:

1: #!/bin/sh
2: #
3: i=1
4:
5: while [ $i -lt 254 ]
6: do
7: echo $i
8: i='expr $i+1'
9: done

Во-первых, в строке 8 нужно исправить прямые кавычки на обратные: i=`expr $i+1`,
а во-вторых переменную i в строке 3 необходимо объявить как целочисленную: declare -i i=1.
Дело в том, что в shell-скриптах все переменные по умолчанию считаются текстовыми со всеми вытекающими последствиями.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Не могу понять в чём проблема" 
Сообщение от gadpolzuchiy Искать по авторуВ закладки(??) on 21-Мрт-05, 11:04  (MSK)
>За ссылку пардон, не до конца выделил перед копированием.
>Вот так работает: http://linuxportal.ru/forums/index.php/m/56674/?
>Ну и на всякий случай (если опять не сработает) объяснение:
>
>1: #!/bin/sh
>2: #
>3: i=1
>4:
>5: while [ $i -lt 254 ]
>6: do
>7: echo $i
>8: i='expr $i+1'
>9: done
>
>Во-первых, в строке 8 нужно исправить прямые кавычки на обратные: i=`expr $i+1`,
>
>а во-вторых переменную i в строке 3 необходимо объявить как целочисленную: declare
>-i i=1.
>Дело в том, что в shell-скриптах все переменные по умолчанию считаются текстовыми
>со всеми вытекающими последствиями.

Огромное спасибо!
Всё поправил и зарабоатало :)
Тогда есть ещё вопрос, где можно посмотреть какие типы можно использовать.
Вообще какой-нибудь хороший мануал по shell-скриптам.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Не могу понять в чём проблема" 
Сообщение от allez Искать по авторуВ закладки(ok) on 21-Мрт-05, 11:30  (MSK)
>Тогда есть ещё вопрос, где можно посмотреть какие типы можно использовать.
>Вообще какой-нибудь хороший мануал по shell-скриптам.

Посмотреть можно на этом же сайте (раздел "Ссылки"): https://www.opennet.ru/links/sml/16.shtml

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Не могу понять в чём проблема" 
Сообщение от gadpolzuchiy Искать по авторуВ закладки(??) on 21-Мрт-05, 12:16  (MSK)
>>Тогда есть ещё вопрос, где можно посмотреть какие типы можно использовать.
>>Вообще какой-нибудь хороший мануал по shell-скриптам.
>
>Посмотреть можно на этом же сайте (раздел "Ссылки"): https://www.opennet.ru/links/sml/16.shtml


Ещё раз спасибо. А то не знал, что и делать

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру