П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 183566 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 83436 раз(а).

Учебник HTML.
Просмотров 77672 раз(а).

Руководство по PHP5.
Просмотров 48491 раз(а).

Хостинг через призму DNS.
Просмотров 55905 раз(а).

Подборка текстов стандартных документов.
Просмотров 47782 раз(а).

Учебник PHP - Самоучитель
Просмотров 54283 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 55422 раз(а).

Внешние атаки...
Просмотров 44809 раз(а).

Учебник PHP.
Просмотров 39754 раз(а).

SSI в примерах.
Просмотров 29874 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





5.2. Условный оператор "if"

В общем случае оператор "if" имеет структуру

   if  условие
     then  список
	 [elif  условие
	  then  список]
     [else  список]
   fi

Здесь "elif" сокращенный вариант от "else if" может быть использован наряду с полным, т.е. допускается вложение произвольного числа операторов "if" (как и других операторов). Разумеется "список" в каждом случае должен быть осмысленный и допустимый в данном контексте.

Конструкции

    [elif  условие
     then  список]
и
    [else  список]

не являются обязательными (в данном случае для указания на необязательность конструкций использованы квадратные скобки - не путать с квадратными скобками команды "test"!).

Самая усеченная структура этого оператора

   if   условие
     then  список
   fi

если выполнено условие (как правило это ком получен код завершения "0", то выполняется "список", иначе он пропускается.

Обратите внимание, что структура обязательно завершается служебным словом "fi". Число "fi", естественно, всегда должно соответствовать числу "if".

Примеры.

Пусть написан расчет "if-1"

    if [ $1 -gt $2 ]
	then pwd
	else echo $0 : Hello!
    Fi
Тогда вызов расчета
    if-1 12 11
даст
    /home/sae/STUDY/SHELL
а
    if-1 12 13
даст
    if-1 : Hello!

Возможно использовать в условии то свойство shell, что команды могут выдавать различный код завершения. Это напоминает приемы программирования на Си. Пусть расчет "if-2" будет

    if a=`expr "$1" : "$2"`
	then echo then a=$a code=$?
	else echo else a=$a code=$?
    Fi
тогда вызов
    if-2  by by
даст
    then a=2 code=0
а
    if-2  by be
даст
    else a=0 code=1

Еще пример на вложенность

    ###
    # if-3: Оценка достижений
    echo -n " А какую оценку получил на экзамене?: "
    read z
    if [ $z = 5 ]
	then echo  Молодец !
	elif [ $z = 4 ]
	     then echo  Все равно молодец !
	     elif [ $z = 3 ]
		  then echo  Все равно !
		  elif [ $z = 2 ]
		       then echo  Все !
		       else echo   !
    fi

Можно обратить внимание на то, что желательно использовать сдвиги при записи программ, чтобы лучше выделить вложенность структур.

[Назад] [Содержание] [Вперед]



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: