Як напісаць IF-аператараў у Bash-Script

Каманды, Сінтаксіс і прыклады

З Умоўны аператар, які ўяўляе сабой тып умоўнага аператара, вы можаце выконваць розныя дзеянні ў залежнасці ад зададзеных умоў. Гэта эфектыўна дае сістэме магчымасць прымаць рашэнні.

Прыклад найпростай формы, калі-заява будзе:

кол = 5 , калі [$ падлік == 5] затым рэха "$ кол" фі

У гэтым прыкладзе пераменная «лічыльнік» выкарыстоўваецца для ўказанні стану, якое выкарыстоўваецца ў якасці часткі ўмоўнага аператара. Перад тым як Умоўны аператар выконваецца, пераменная «лічыльнік» прысвойваецца значэнне «5». Заяву, калі-то правярае, ці з'яўляецца значэнне «лічыльніка» з'яўляецца «5». Калі гэта так, заяву паміж ключавымі словамі «тады» і «фі» выконваюцца, у адваротным выпадку любыя заявы пасля Умоўны аператар выконваюцца. Ключавое слова «фі» з'яўляецца «калі» пішацца ў зваротным кірунку. Мова Баша сцэнарыяў выкарыстоўвае гэтую канвенцыю, каб адзначыць канец складанага выказвання, такі Умоўны аператар або тэматычныя заявы.

«Рэха» аператар друкуе свой аргумент, у гэтым выпадку значэнне зменнай "кол», у акне тэрмінала. Водступ кода паміж ключавымі словамі ў Умоўны аператар паляпшае чытальнасць, але не з'яўляецца неабходным.

Калі ў Вас ёсць сітуацыя, калі кавалак кода павінен быць выкананы толькі калі ўмова не дакладна, вы можаце выкарыстоўваць ключавое слова "яшчэ" ў аператары if-, як у гэтым прыкладзе:

кол = 5 , калі [$ падлік == 5] затым рэха «$ рахунак» яшчэ рэха «лічыльнік не 5» фі

Калі ўмова «$ падлік == 5», праўда, сістэма друкуе значэнне зменнай "Count", у адваротным выпадку ён выводзіць радок «лічыльнік не 5».

Калі вы хочаце правесці адрозненне паміж некалькімі ўмовамі, вы можаце выкарыстоўваць ключавое слова «Эліф», які з'яўляецца вытворным ад «яшчэ, калі», як у гэтым прыкладзе:

калі [$ падлік == 5] затым рэха «лічыльнік пяць» Эліф [$ падлік == 6] затым рэха «лічыльнік не шэсць» яшчэ рэха «ні адзін з вышэйпералічаных» фі

Калі «лічыльнік» з'яўляецца «5», то сістэма выводзіць «лічыльнік пяць». Калі «лічыльнік» не «5», а «6», то сістэма друкуе «адлік шэсць». Калі гэта не з'яўляецца ні «5», ні «6», то сістэма выводзіць «ні адзін з вышэйпералічаных».

Як вы ўжо здагадаліся, вы можаце мець любую колькасць «Эліф» артыкулаў. Прыклад з некалькімі «Эліф» ўмовы будуць:

калі [$ падлік == 5] затым рэха «лічыльнік пяць» Эліф [$ падлік == 6] затым рэха «лічыльнік шэсць» Эліф [$ падлік == 7] затым рэха «лічыльнік сем» Эліф [$ падлік = = 8] , а затым рэха «лічыльнік роўны васьмі» Эліф [$ падлік == 9] , а затым рэха «лічыльнік не дзевяць» яшчэ рэха «ні адзін з вышэйпералічаных» фі

Больш кампактны спосаб пісаць такія заявы з некалькімі ўмовамі з'яўляецца выпадак , метад. Ён функцыянуе аналагічна Умоўны аператар з некалькімі «Эліф» артыкулаў, але больш кароткім. Напрыклад, вышэй фрагмент кода можа быць перапісаны з сцвярджэннем «справы» наступным чынам:

выпадак «$ кол» у 5) рэха «лічыльнік пяць» ;; 6) рэха «лічыльнік шэсць» ;; 7) рэха «лічыльнік сем» ;; 8) рэха «лічыльнік роўны васьмі» ;; 9) рэха «лічыльнік дзевяць» ;; *) Ня рэха «ні адзін з вышэй» ESAC

Калі-заявы часта выкарыстоўваюцца ў абмен на завесах або ў той час як-завесы , як у гэтым прыкладзе:

кол = 1 зроблена = 0 ў той час як [$ падлічваць -le 9] рабіць спаць 1 ((палічыце ++)) калі [$ падлік == 5] затым працягнуць фі рэха "$ рахунак" зроблена рэха Закончанае

Вы таксама можаце мець укладзеныя калі заявы. Найпростае укладзенымі, калі аператар мае выгляд: калі ... то ... яшчэ ... калі ..., то ... фі ... фі. Аднак, калі-аператар можа ўкладзены любой складанасці.

Глядзіце таксама , як перадаць аргументы Баша скрыпт , які паказвае , як выкарыстоўваць ўмоўныя апрацоўваць параметры , якія перадаюцца з каманднага радка.

Абалонкі Bash падае іншыя праграмныя канструкцыі, такія , як для-завесы , у той час як-завесы , а таксама арыфметычныя выразы .