Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Простенький bash-скрипт, нужна помощь  (Прочитано 763 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nattfodd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Простенький bash-скрипт, нужна помощь
« : 30 Сентября 2010, 16:33:29 »
Есть задача - командами if, test и echo найти самое большое из трех чисел. Написал скриптик:

echo "Введите a1:"
read a1
echo "Введите a2:"
read a2
echo "Введите a3:"
read a3
if [test $a1 -gt $a2 && $a1 -gt $a3]; then
echo "a1 - the biggest"
else if [test $a2 -gt $a3]; then
echo "a2 - the biggest"
     else
echo "a3 - the biggest"
     fi
fi

Но эта конструкция не работает, вот что пишет в ответ:
Введите a1:
133
Введите a2:
15
Введите a3:
100
/home/nattfodd/lab04/biggest.sh: 16: [test: not found
/home/nattfodd/lab04/biggest.sh: 16: [test: not found
a3 - the biggest

Есть идеи, почему? Синтаксис if вроде соблюден, команда test сама по себе тоже отлично работает. А вот все вместе никак. :-\

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Простенький bash-скрипт, нужна помощь
« Ответ #1 : 30 Сентября 2010, 16:54:43 »
Потому что либо [, либо test. После квадратной скобки, кстати, обязательно должен быть пробел.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн Nattfodd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Простенький bash-скрипт, нужна помощь
« Ответ #2 : 30 Сентября 2010, 17:03:34 »
Спасибо!

Почему-то думал, что квадратные скобочки в условии if - это обязательное условие.

Вот рабочий вариант, если кому-то вдруг будет интересно:
(Нажмите, чтобы показать/скрыть)

 

Страница сгенерирована за 0.017 секунд. Запросов: 21.