Како да напишете IF-изјава во баш-сценарио

Команди, Синтакса и Примери

Со if-изјава, која е тип на условна изјава, можете да извршите различни активности во зависност од наведените услови. Тоа ефикасно му дава на системот способност да донесува одлуки.

Пример за наједноставен облик на if-изјава би бил:

count = 5 ако [$ count == 5] тогаш ехо "count count" fi

Во овој пример, променливата "count" се користи за да наведете состојба која се користи како дел од if-изјавата. Пред да се изврши изјавата ако, променливата "count" е доделена вредноста "5". Ако-изјавата потоа проверува дали вредноста на "count" е "5". Ако тоа е случај, изјавата помеѓу клучните зборови "тогаш" и "fi" се извршува, инаку се извршуваат било какви изјави по изјавата "ако". Клучниот збор "fi" е "ако" напишан наназад. Баш скриптниот јазик ја користи оваа конвенција за да го одбележи крајот на комплексниот израз, како што е изјава или случаи.

Изјавата "ехо" го печати својот аргумент, во овој случај, вредноста на променливата "count", до терминалниот прозорец. Внесувањето на кодот помеѓу клучните зборови на if-изјавата ја подобрува читливоста, но не е неопходно.

Ако имате ситуација во која парче код треба да се изврши само ако условот не е вистина, можете да го користите клучниот збор "else" во изјава ако, како во овој пример:

count = 5 ако [$ count == 5] тогаш ехо "count count" друго ехо "count не е 5" fi

Ако состојбата "$ count == 5" е точна, системот ја печати вредноста на променливата "count", инаку ја отпечати стрингот "брои не е 5".

Ако сакате да се разликувате помеѓу повеќе услови, можете да го користите клучниот збор "elif", кој е изведен од "друго ако", како во овој пример:

ако [$ count == 5] тогаш ехо "брои е пет" елиф [$ count == 6] тогаш ехо "брои е шест" друго ехо "ниту едно од горенаведените" fi

Ако "count" е "5", системот отпечатоци "count е пет". Ако "брои" не е "5", туку "6", системот отпечатоци "брои е шест". Ако не е ниту "5" ниту "6", системот отпечатоци "ништо од погоре".

Како што може да претпоставите, може да имате било какви "келии". Пример со повеќекратни "елифски" услови би бил:

ако [$ count == 5] тогаш ехо "брои е пет" елиф [$ count == 6] тогаш ехо "count е шест" elif [$ count == 7] тогаш ехо "count е седум" elif [$ count = = 8], тогаш ехо "брои е осум" елиф [$ count == 9] тогаш ехо "count е девет" друго ехо "ниту еден од горенаведените" fi

Покомпактниот начин да се напишат такви изјави со повеќе услови е методот на случај . Таа функционира слично на if-изјавата со повеќекратни "елиф" клаузули, но е поконзистентна. На пример, горенаведениот дел од кодот може повторно да биде напишан со изјава "случај" на следниов начин:

случајот "$ count" во 5) echo "count е пет" ;; 6) ехо "брои е шест" ;; 7) ехо "брои е седум" ;; 8) ехо "брои е осум" ;; 9) ехо "брои е девет" ;; *) повторува "ниту еден од горенаведените" ескини

Ако-изјавите честопати се користат во внатрешноста за-циклуси или додека циклуси како во овој пример:

count = 1 направено = 0 додека [$ count -le 9] го спие 1 ((count ++)), ако [$ count == 5] продолжува ficho "$ count" направи echo Finished

Исто така може да имате вгнездени ако изјавите. Најлесно вгнездени ако изјавата е во форма: ако ... тогаш ... друго ... ако ... тогаш ... fi ... fi. Меѓутоа, доколку-изјавата може да се вгнезди со произволна сложеност.

Видете исто така како да ги пренесете аргументите на bash скрипта , која покажува како да се користат условите за обработка на параметрите што се пренесуваат од командната линија.

Баш-школка обезбедува други програмски конструкции, како што се за-јамки , додека-петелки и аритметички изрази .