Использование if

We use cookies. Read the Privacy and Cookie Policy

В сценариях на языке командной оболочки описанную выше логику можно реализовать так:

x=5

if [ $x = 5 ]; then

echo "x equals 5."

else

echo "x does not equal 5."

fi

А если то же самое можно выполнить непосредственно в командной строке, получается немного короче:

[me@linuxbox ~]$ x=5

[me@linuxbox ~]$ if [ $x = 5 ]; then echo "equals 5"; else echo "does not equal 5"; fi

equals 5

[me@linuxbox ~]$ x=0

[me@linuxbox ~]$ if [ $x = 5 ]; then echo "equals 5"; else echo "does not equal 5"; fi

does not equal 5

В этом примере мы выполнили команду дважды. Первый раз со значением 5 в переменной x, что привело к выводу строки equals 5, и второй раз со значением 0 в переменной x, что привело к выводу строки not equal 5.

Инструкция if имеет следующий синтаксис:

if команды; then

команды

[elif команды; then

commands...]

[else

команды]

fi

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