Код не работает, ошибка

bash

изначальный пост:
http://otvety.google.ru/otvety/thread?tid=0b47d1d722a51a23&table=%2Fotvety%2Fuser%3Fuserid%3D15011199166947764017%26tab%3Dwtmtoa

строка:
line1=$(($RANDOM % $lines))
ошибка:
arithmetic expression: expecting primary: " % 25"



Примечание:
BASH (4.0-5ubuntu2) идет с UBUNTU 9.10

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

Примечание:
Команда $RANDOM работала только в оболочке, из скрипта запустить не удалось
Ответы:
Шелл точно bash/sh? Вышеприведенная строка нормально работает на моих версиях, но немного похожее сообщение появляется в случае, если в имени $RANDOM допустить ошибку. Моё предположение -- в вашем shell отсутствует $RANDOM, либо называется как-то иначе.
Вообще говоря, должно работать. По крайней мере, в таком виде, как вам предложили в предыдущем ответе:
Расширение — пофиг. Наиболее часто или вообще без расширения, или .sh. В любом случае, ни на что не сказывается.
надеюсь Вы там нигде пробелов не понаставили между равно и line1.
А так честно говоря понятия не имею, что не так.
k_max, по поводу bash вообще. За последние два дня я в ней сам нашёл 2 глюка и о закрытии ещё одного прочитал в описании к автоматическому обновлению системы. Многовато что-то за такое короткое время. И по поводу read. В стандарте POSIX для этой команды предусмотрен только ключ -r и никаких -s, а всё, что не стандартизовано… в общем, имеет законное право и не работать.
katzyn
Так самое интересно что вне файла, прямо в оболочке read -s pass работает! А в скрипте нет. Может оболочка выполняющая скрипт с каким-то ключом запускается, ... к сожалению чтобы проверить мне нужно поставить Ubuntu, а делать это не очень хочется :).


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.