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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Проблемы с вложениями bash  (Прочитано 729 раз)

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

Оффлайн Ashtar

  • Автор темы
  • Участник
  • *
  • Сообщений: 201
  • КотЭ - компилятор
    • Просмотр профиля
Проблемы с вложениями bash
« : 22 Августа 2011, 11:18:46 »
В общем я не особо секу в этих делах, так что возможно вопрос нубский.
имеется нечто подобное:
if test $# -eq 3; then
сase $переменная in
                  траляля-тополя
                  здесь еще чтото
                esac
fi
                           
так вот, в баше что нет вложений? почему даже если условие ложное, он все равно заходит в case?
Soturi, sankari, viitan kultaisen kantaja.
_______________________________
 Ex nihilo nihil fit.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Проблемы с вложениями bash
« Ответ #1 : 22 Августа 2011, 15:04:55 »
видимо криво пишешь условия. читай ман.

Оффлайн Ashtar

  • Автор темы
  • Участник
  • *
  • Сообщений: 201
  • КотЭ - компилятор
    • Просмотр профиля
Re: Проблемы с вложениями bash
« Ответ #2 : 22 Августа 2011, 15:18:07 »
видимо криво пишешь условия. читай ман.
точно такое же условие где внутри нет case а допустим

if test $# -eq 3; then
echo "Hello world!"
fi
совершенно нормально работает.
Soturi, sankari, viitan kultaisen kantaja.
_______________________________
 Ex nihilo nihil fit.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблемы с вложениями bash
« Ответ #3 : 22 Августа 2011, 15:36:47 »
$ a=1; if test $a -eq 0 ; then case $a in 0) a=2 ;; 1) a=3 ;; esac ; fi ; echo $a
1

andrey_p

  • Гость
Re: Проблемы с вложениями bash
« Ответ #4 : 22 Августа 2011, 15:59:52 »
Что-то с точками с запятой намудрил, может быть. Давай полный фрагмент, потому как твоя ошибка именно в этом "траляля" скорее всего или в $переменной(а это ошибка, а не баш "неправильный").
« Последнее редактирование: 22 Августа 2011, 16:01:47 от andrey_p »

Оффлайн acehd

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: Проблемы с вложениями bash
« Ответ #5 : 23 Августа 2011, 06:55:13 »
#!/bin/bash
if [ "$1" == "in" ]; then
case "$2" in
1)
echo "case value: $2"
;;
2)
echo "case value: $2"
;;
*)
echo "case value undefined"
;;
esac
fi

$ ./test
$ ./test in
case value undefined
$ ./test in 1
case value: 1
$ ./test in 2
case value: 2

Оффлайн Ashtar

  • Автор темы
  • Участник
  • *
  • Сообщений: 201
  • КотЭ - компилятор
    • Просмотр профиля
Re: Проблемы с вложениями bash
« Ответ #6 : 23 Августа 2011, 11:47:52 »
упс. нашел косяк. тему можно закрывать.
Soturi, sankari, viitan kultaisen kantaja.
_______________________________
 Ex nihilo nihil fit.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Проблемы с вложениями bash
« Ответ #7 : 23 Августа 2011, 18:03:31 »
Ммм... как я и сказал =) слушайтесь дядю Юру.

 

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