logo

Умовні оператори | Сценарій оболонки

Умовні оператори: Всього існує 5 умовних операторів, які можна використовувати в програмуванні bash

  1. оператор if
  2. оператор if-else
  3. оператор if..elif..else..fi (драбина Else If)
  4. if..then..else..if..then..fi..fi..(Вкладене якщо)
  5. оператор перемикання

Їх опис із синтаксисом такий:

оператор 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.>

Примітка: Сценарії оболонки є мовою, яка чутлива до регістру, а це означає, що під час написання сценаріїв потрібно дотримуватися правильного синтаксису.

символ до рядка