Како написати ИФ-изјаве у Басх-Сцрипту

Команде, синтаксу и примере

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

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

цоунт = 5 ако [$ цоунт == 5] ецхо "$ цоунт" фи

У овом примеру, променљива "цоунт" се користи за одређивање стања који се користи као дио израза "иф-статемент". Пре него што се изврши иф-статемент, променљивом "цоунт" додељује се вредност "5". Ако-статемент онда провјерава да ли је вриједност "цоунт" "5". Ако је то случај, изврши се изјава између кључних речи "тада" и "фи", у супротном се извршавају изјаве након изјаве. Кључна реч "фи" је "ако" је написана уназад. Басх сцриптинг језик користи ову конвенцију како би обележио крај сложеног израза, такве ас-статемент или изјаве случајева.

Изјава "ецхо" штампа свој аргумент, у овом случају, вредност променљиве "број", до прозора терминала. Уношење кода између кључних речи у иф-изјави побољшава читљивост, али није неопходно.

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

цоунт = 5 ако [$ цоунт == 5] онда ецхо "$ цоунт" елсе ецхо "цоунт није 5" фи

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

Ако желите да разликујете између више услова, можете користити кључну реч "елиф", која је изведена из "елсе иф", као у овом примеру:

ако [$ цоунт == 5] онда ецхо "цоунт ис фиве" елиф [$ цоунт == 6] онда ецхо "цоунт ис сик" елсе ецхо "ноне оф тхе абове" фи

Ако је број "5", систем одштампава "број је пет". Ако "бројање" није "5" већ "6", систем штампа "број је шест". Ако није "5" нити "6", систем одштампа "ниједно од горе наведених".

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

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

Компактнији начин писања таквих изјава са вишеструким условима је метода случаја . Функционише слично као иф-изјава са вишеструким "елиф" клаузулама, али је концизнија. На пример, горе наведени део кода може се поново написати са изразом "случај" на следећи начин:

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

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

цоунт = 1 доне = 0 док [$ цоунт -ле 9] спавај 1 ((број ++)) ако [$ цоунт == 5] настави ф ецхо "$ цоунт" доне ецхо Финисхед

Такође можете имати угнежене ако изјаве. Најједноставнији угнежени ако је изјава форма: ако ... онда ... друго ... ако ... онда ... фи ... фи. Међутим, ако-изјава може угнежити са произвољном сложеношћу.

Такође погледајте како пренијети аргументе на басх скрипту , која показује како користити услове за обраду параметара пренетих из командне линије.

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