Jinsi ya Kuandika IF-Taarifa katika Bash-Script

Maagizo, Syntax, na Mifano

Na ikiwa-taarifa, ambayo ni aina ya kauli ya masharti, unaweza kufanya vitendo tofauti kulingana na hali maalum. Kwa ufanisi hutoa mfumo wa uwezo wa kufanya maamuzi.

Mfano wa fomu rahisi ya ikiwa-taarifa itakuwa:

hesabu = 5 ikiwa [$ count == 5] kisha ufikie "$ count" fi

Katika mfano huu, "hesabu" ya kutofautiana hutumiwa kutaja hali ambayo hutumiwa kama sehemu ya taarifa. Kabla ya taarifa-kama inafanywa, variable "hesabu" inapewa thamani "5". Taarifa kama-kisha hunasua ikiwa thamani ya "hesabu" ni "5". Ikiwa ndivyo ilivyo maneno kati ya maneno "kisha" na "fi" yanatekelezwa, vinginevyo taarifa yoyote ifuatayo ikiwa-taarifa yanatekelezwa. Neno la msingi "fi" ni "ikiwa" limeandikwa nyuma. Lugha ya script ya bash hutumia mkataba huu ili uonyeshe mwisho wa kujieleza ngumu, kama vile-taarifa au taarifa za kesi.

Maneno ya "echo" yanaonyesha hoja yake, katika kesi hii, thamani ya "hesabu" ya kutofautiana, kwenye dirisha la terminal. Uingizaji wa msimbo kati ya maneno muhimu ya taarifa kama-inaboresha kusoma lakini haifai.

Ikiwa una hali ambayo kipande cha kificho kinapaswa kutekelezwa tu ikiwa hali si kweli, unaweza kutumia neno la msingi "mwingine" katika taarifa kama, kama ilivyo katika mfano huu:

hesabu = 5 ikiwa [$ count == 5] kisha ufikie "$ count" ila echo "hesabu si 5" fi

Ikiwa hali "$ count == 5" ni kweli, mfumo unapunguza thamani ya "hesabu" ya kutofautiana, vinginevyo inachukua kamba "hesabu sio 5".

Ikiwa unataka kutofautisha kati ya hali nyingi, unaweza kutumia neno la msingi "elif", ambalo linatokana na "mwingine kama", kama ilivyo katika mfano huu:

ikiwa [$ count == 5] basi echo "hesabu ni tano" elif [$ count == 6] kisha echo "hesabu ni sita" mwingine echo "hakuna ya hapo juu" fi

Ikiwa "hesabu" ni "5", mfumo huu unatoa "hesabu ni tano". Ikiwa "hesabu" sio "5" bali "6", mfumo huu unabadilisha "hesabu ni sita". Ikiwa sio "5" wala "6", mfumo huo haubaini "hakuna ya hapo juu".

Kama unaweza kuwa umebadilisha, unaweza kuwa na namba yoyote ya "elif". Mfano na hali nyingi za "elif" itakuwa:

ikiwa [$ count == 5] basi echo "hesabu ni tano" elif [$ count == 6] kisha echo "hesabu ni sita" elif [$ count == 7] kisha echo "hesabu ni saba" elif [$ count = = 8] kisha echo "hesabu ni nane" elif [$ count == 9] kisha echo "hesabu ni tisa" mwingine echo "hakuna ya hapo juu" fi

Njia thabiti zaidi ya kuandika kauli kama hizo kwa hali nyingi ni njia ya kesi . Inafanya kazi sawa na ikiwa-taarifa yenye vifungu vingi vya "elif" lakini ni mafupi zaidi. Kwa mfano, kipande cha juu cha kificho kinaweza kuandikwa tena na kauli ya "kesi" kama ifuatavyo:

kesi "$ count" katika 5) echo "hesabu ni tano"; ;; 6) echo "hesabu ni sita";; 7) echo "hesabu ni saba" ;;; 8) echo "hesabu ni nane";; 9) echo "hesabu ni tisa";; *) echo "hakuna ya hapo juu" esac

Ikiwa-kauli ni mara nyingi hutumiwa ndani ya loops au wakati-loops kama katika mfano huu:

kuhesabu = 1 kufanyika = 0 wakati [$ count-9] usingizi 1 ((kuhesabu + +)) ikiwa [$ count == 5] kisha uendelee kufikia "$ count" imekamilika

Unaweza pia kuwa na kiota kama taarifa. Nyeupe zaidi ikiwa taarifa ni ya fomu: ikiwa ... halafu ... labda ... kama ... basi ... fi ... fi. Hata hivyo, ikiwa-taarifa inaweza kujengwa kwa utata usiofaa.

Tazama pia jinsi ya kupitisha hoja kwenye script ya bash , ambayo inaonyesha jinsi ya kutumia viwango vya kutatua vigezo vinavyotokana na mstari wa amri.

Hifadhi ya bash hutoa vifaa vingine vya programu, kama vile vitanzi vya loops , wakati-loops , na maneno ya hesabu .