Условные утверждения | Сценарий оболочки
Условные операторы: всего 5 условных операторов, которые можно использовать в программировании на bash.
- если заявление
- оператор if-else
- Оператор if..elif..else..fi (Else If)
- if..then..else..if..then..fi..fi .. (вложено, если)
- оператор переключения
Их описание с синтаксисом выглядит следующим образом:
if statement
This block will process if specified condition is true.
Syntax:
if [ expression ]
then
statement
fi
if-else statement
If specified condition is not true in if part then else part will be execute.
Syntax
if [ expression ]
then
statement1
else
statement2
fi
оператор if..elif..else..fi (Else If)
Чтобы использовать несколько условий в одном блоке if-else, в оболочке используется ключевое слово elif. Если выражение1 истинно, оно выполняет операторы 1 и 2, и этот процесс продолжается. Если ни одно из условий не является истинным, обрабатывается другая часть.
Синтаксис
if [ expression1 ]
then
statement1
statement2
.
.
elif [ expression2 ]
then
statement3
statement4
.
.
else
statement5
fi
if..then..else..if..then..fi..fi..(Nested if)
Nested if-else block can be used when, one condition is satisfies then it again checks another condition. In the syntax, if expression1 is false then it processes else part, and again expression2 will be check.
Syntax:
if [ expression1 ]
then
statement1
statement2
.
else
if [ expression2 ]
then
statement3
.
fi
fi
оператор переключения
Оператор case работает как оператор switch, если указанное значение совпадает с шаблоном, тогда он выполнит блок этого конкретного шаблона
Когда совпадение найдено, все связанные операторы, пока не будет выполнена двойная точка с запятой (;;).
Обращение будет прекращено при выполнении последней команды.
Если совпадений нет, статус выхода обращения равен нулю.
Syntax:
case in
Pattern 1) Statement 1;;
Pattern n) Statement n;;
esac
Примеры программ
Example 1:
Implementing if
statement
#Initializing two variables a=10 b=20 #Check whether they are equal if [ $a == $b ] then echo "a is equal to b" fi #Check whether they are not equal if [ $a != $b ] then echo "a is not equal to b" fi |
Выход
$ bash -f main.sh а не равно б
Example 2:
Implementing if.else
statement
#Initializing two variables a=20 b=20 if [ $a == $b ] then #If they are equal then print this echo "a is equal to b" else # else print this echo "a is not equal to b" fi |
Выход
$ bash -f main.sh a равно b
Example 3:
Implementing switch
statement
CARS= "bmw" #Pass the variable in string case "$CARS" in # case 1 "mercedes" ) echo "Headquarters - Affalterbach, Germany" ;; # case 2 "audi" ) echo "Headquarters - Ingolstadt, Germany" ;; # case 3 "bmw" ) echo "Headquarters - Chennai, Tamil Nadu, India" ;; esac |
Выход
$ bash -f main.sh Штаб-квартира - Ченнаи, Тамил Наду, Индия.
Примечание: сценарии оболочки - это язык с учетом регистра, что означает, что при написании сценариев необходимо соблюдать правильный синтаксис.