Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Next Previous Contents

6. Условные операторы

Условные операторы позволяют Вам решать, выполнять ли действие или нет, решение принимается при вычислении значения выражения.

6.1 Сухая теория

Существует много форм условных операторов. Элементарная форма - это if выражение then оператор где 'оператор' выполняется только тогда, когда 'выражение' имеет значение "истина". '2<1' - это выражение, имеющее значение "ложь", в то время как '2>1' - "истина".

Существуют другие формы условных операторов, такие как: if выражение then оператор1 else оператор2. Здесь 'оператор1' выполняется, если 'выражение' истина , иначе выполняется 'оператор2'.

Ещё одна форма условных операторов - это: if выражение1 then оператор1 else if выражение2 then оператор2 else оператор3. В этой форме добавляется только последовательность "ELSE IF 'выражение2' THEN 'оператор2'", заставляющая 'оператор2' выполняться, если 'выражение2' имеет значение "истина". Всё остальное так, как Вы себе представляете (см. предыдущие формы).

Немного о синтаксисе:

Элементарная конструкция оператора 'if' в bash выглядет так:

if [выражение];

then

code if 'выражение' is true.

fi

6.2 Пример: элементарный пример условного оператора if .. then

            #!/bin/bash
            if [ "foo" = "foo" ]; then
               echo выражение вычислилось как истина
            fi
            

Код, выполняемый, если выражение внутри квадратных скобок - истина, находится после слова 'then' и перед словом 'fi', которое обозначает конец исполняемого при выполнении условия кода.

6.3 Пример: элементарный пример условного оператора if .. then ... else

            #!/bin/bash
            if [ "foo" = "foo" ]; then
               echo выражение вычислилось как истина
            else
               echo выражение вычислилось как ложь
            fi
            

6.4 Пример: условные операторы с переменными

            #!/bin/bash
            T1="foo"
            T2="bar"
            if [ "$T1" = "$T2" ]; then
                echo выражение вычислилось как истина
            else
                echo выражение вычислилось как ложь
            fi
            

Next Previous Contents