Unsaon Pagsulat ang IF-Mga Pahayag sa usa ka Bash-Script

Mga Sugo, Syntax, ug mga Ehemplo

Uban sa kung-pahayag, nga usa ka matang sa kondisyon nga pamahayag, mahimo nimo ang paghimo sa nagkalainlain nga mga aksyon depende sa mga piho nga kondisyon. Kini epektibo nga naghatag sa sistema sa abilidad sa pagdesisyon.

Usa ka pananglitan sa pinakayano nga porma sa kung-pahayag mao ang:

count = 5 kung [$ count == 5] dayon echo "$ count" fi

Sa kini nga pananglitan, ang mga variables nga "count" gigamit sa pagtino sa kondisyon nga gigamit ingon nga bahin sa kung-pahayag. Sa dili pa ipatuman ang kung-pahayag, ang "count" nga variable ang gi-assign sa bili nga "5". Kung ang kung-pahayag susihon kung ang bili sa "ihap" mao ang "5". Kon mao kana ang kaso ang pamahayag tali sa mga pulong "dayon" ug "fi" gipatuman, kung dili ang bisan unsang mga pamahayag nga nagsunod sa kung-pahayag gipatuman. Ang keyword nga "fi" mao ang "if" spelling backward. Ang pinulongang bash scripting naggamit niining kombensyon aron pagtimaan sa katapusan sa komplikadong ekspresyon, sama sa kung-pahayag o mga pahayag sa kaso.

Ang pahayag sa "echo" nagpatik sa argumento niini, sa niini nga kaso, ang bili sa variable "count", ngadto sa terminal nga bintana. Ang paghatag sa code tali sa mga keyword sa kung-pahayag nagpalambo sa pagkabasa apan dili gikinahanglan.

Kon ikaw adunay usa ka sitwasyon diin ang usa ka piraso sa code kinahanglan ipatuman lamang kung ang usa ka kondisyon dili tinuod, mahimo nimo gamiton ang keyword nga "lain" sa kung-pahayag, ingon niini nga pananglitan:

count = 5 kung [$ count == 5] dayon echo "$ count" else echo "count not 5" fi

Kon ang kondisyon nga "$ count == 5" tinuod, ang sistema nag-imprenta sa bili sa variable nga "count", kung dili kini gipatik ang hugpong "ihap dili 5".

Kon gusto ka nga makalahi tali sa daghang kondisyon, mahimo nimo gamiton ang keyword nga "elif", nga naggikan sa "else if", ingon niini nga pananglitan:

kung ang [$ count == 5] nan echo "count is five" elif [$ count == 6] unya echo "count is six" laing echo "wala sa mga nabasa"

Kung ang "pag-ihap" maoy "5", ang sistema nag-print nga "ihap ang lima". Kung ang "pag-ihap" dili "5" apan "6", ang sistema nag-print nga "ihap ang unom". Kon kini dili "5" ni "6", ang sistema nag-imprinta "walay usa sa ibabaw".

Sumala sa imong nasabtan, mahimo ka nga adunay bisan unsang gidaghanon sa "elif" clauses. Usa ka pananglitan nga adunay daghang mga kondisyon nga "elif" mao ang:

kon ang [$ count == 5] nan echo "count is five" elif [$ count == 6] unya echo "count is six" elif [$ count == 7] dayon echo "count is seven" = 8] unya echo "count is eight" elif [$ count == 9] unya echo "count is nine" laing echo "wala sa mga labaw sa" fi

Ang usa ka mas compact nga paagi sa pagsulat sa ingon nga mga pahayag sa daghang mga kondisyon mao ang kaso nga paagi. Kini nag-obra susama sa kung-pahayag nga adunay multiple "elif" clauses apan mas mubo. Pananglitan, ang nahisulat nga kodigo sa ibabaw mahimong isulat pag-usab sa pahayag sa "kaso" ingon sa mosunod:

kaso "$ count" sa 5) echo "count is five" ;; 6) echo "count is six" ;; 7) echo "ihap ang pito" ;; 8) echo "ihap ang walo" ;; 9) echo "ihap ang siyam" ;; *) echo "walay usa sa ibabaw" esac

Kung-ang mga pamahayag sa kasagaran gigamit sulod sa sulod- sa-gal-om o samtang-loops ingon niini nga pananglitan:

count = 1 done = 0 samtang [$ count -le 9] pagtulog 1 ((count ++)) kon [$ count == 5] ipadayon ang fiesta nga "$ count" nga gihimo echo

Mahimo usab nested nimo ang mga pahayag. Ang pinakasimple nga nested kung ang pamahayag anaa sa porma: kung ... dayon ... laing ... kung ... unya ... fi ... fi. Bisan pa, kon-pahayag nga mahimong gisul-ob uban ang arbitraryong komplikado.

Tan-awa usab kon unsaon sa pagpasa sa mga argumento sa usa ka script sa bash , nga nagpakita unsaon sa paggamit sa mga kondisyon aron sa pagproseso sa mga parameter nga gipasa gikan sa command line.

Ang bash shell naghatag sa uban pang mga programa sa pagtukod, sama sa for-loops , samtang-loops , ug arithmetic nga mga ekspresyon .