Умовні оператори: Всього існує 5 умовних операторів, які можна використовувати в програмуванні bash
- оператор if
- оператор if-else
- оператор if..elif..else..fi (драбина Else If)
- if..then..else..if..then..fi..fi..(Вкладене якщо)
- оператор перемикання
Їх опис із синтаксисом такий:
оператор if
Цей блок буде оброблено, якщо вказана умова виконується.
Синтаксис:
if [ expression ] then statement fi>
оператор if-else
Якщо зазначена умова не виконується в частині if, тоді буде виконана частина else.
Синтаксис
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..(Вкладене якщо)
Вкладений блок if-else можна використовувати, коли виконується одна умова, а потім знову перевіряється інша умова. У синтаксисі, якщо вираз1 має значення false, тоді він обробляє частину else, і знову буде перевірено вираз2.
Синтаксис:
if [ expression1 ] then statement1 statement2 . else if [ expression2 ] then statement3 . fi fi>
оператор перемикання
оператор case працює як оператор switch, якщо вказане значення збігається з шаблоном, тоді він виконає блок цього конкретного шаблону
Коли знайдено збіг, виконуються всі пов’язані оператори до подвійної крапки з комою (;;).
Випадок буде припинено, коли буде виконано останню команду.
Якщо відповідності немає, вихідний статус справи дорівнює нулю.
Синтаксис:
case in Pattern 1) Statement 1;; Pattern n) Statement n;; esac>
Приклади програм
Приклад 1:
Реалізаціяif>заява
#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 a is not equal to b>
приклад 2:
Реалізаціяif.else>заява
#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 is equal to b>
приклад 3:
Реалізаціяswitch>заява
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 Headquarters - Chennai, Tamil Nadu, India.>
Примітка: Сценарії оболонки є мовою, яка чутлива до регістру, а це означає, що під час написання сценаріїв потрібно дотримуватися правильного синтаксису.
символ до рядка