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


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

Автор Тема: Цыкл while (y/n) выход или остаться, всегда выход!?  (Прочитано 984 раз)

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

Оффлайн JDev

  • Автор темы
  • Участник
  • *
  • Сообщений: 103
    • Просмотр профиля
Вот такая вот беда - запутался у всех этих символах.
Может кто зорким глазом глянет и скажет, почему при нажатии и "y" и "n" программа прекращает работу?

while echo "$* (y/n)? C" >& 2
do read yn rest
case $yn in
y) return 0     ;;
n) return 1 ;;
*) echo "Please Answer y or n" >& 2  ;;
esac
done

Как сделать, чтоб только после одного заканчивалась работа программы?
Спасибо

Оффлайн Vovaldo

  • Любитель
  • *
  • Сообщений: 82
  • Ху Тин Пуй
    • Просмотр профиля
    • Путин забрал у Медведева инновационный орган
Вот такая вот беда - запутался у всех этих символах.
Может кто зорким глазом глянет и скажет, почему при нажатии и "y" и "n" программа прекращает работу?

while echo "$* (y/n)? C" >& 2
do read yn rest
case $yn in
y) return 0     ;;
n) return 1 ;;
*) echo "Please Answer y or n" >& 2  ;;
esac
done

Как сделать, чтоб только после одного заканчивалась работа программы?
Спасибо
Гы... Действительно, смешно...
Может, эта... Убрать return где-нибудь? :)

Оффлайн andrew_bye

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2698
    • Просмотр профиля
По-моему здесь нет ничего удивительного. Ведь команда return используется исключительно в функциях. А в приведенном коде функцией, как говорится, и не пахнет.

Оффлайн S_F_H

  • Участник
  • *
  • Сообщений: 129
  • Да будет crossplatform!
    • Просмотр профиля
но это таки может быть часть функции проверки ответа на вопрос

 

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