Kaip grąžinti eilutę iš „Bash“ funkcijų

How Return String From Bash Functions



„Bash“ funkcijos negali grąžinti reikšmių, kaip kitos standartinės programavimo kalbos. „Bash“ funkcijos palaiko grąžinimo pareiškimą, tačiau naudoja skirtingą sintaksę grąžos vertei skaityti. „Bash“ funkcijų vertę galite gauti įvairiais būdais. Šioje pamokoje sužinosite, kaip galite perduoti eilutės duomenis iš „bash“ funkcijos skambinančiajam, naudodami skirtingų tipų „bash“ sintakses. Atidarykite teksto rengyklę, kad išbandytumėte šiuos „bash“ funkcijų pavyzdžius, kad suprastumėte, kaip iš „bash“ funkcijų galima grąžinti eilutes ar skaitmenines vertes.

1 pavyzdys: visuotinio kintamojo naudojimas

„Bash“ funkcija gali grąžinti eilutės reikšmę naudodami visuotinį kintamąjį. Šiame pavyzdyje globalus kintamasis „ pakartoti “ yra naudojamas. Eilutės reikšmė priskiriama ir išspausdinama šiame visuotiniame kintamajame prieš ir po funkcijos iškvietimo. Paskambinus funkcijai, visuotinio kintamojo vertė bus pakeista. Tai būdas grąžinti eilutės vertę iš bash funkcijos.







funkcijaF1()
{
retval='Man patinka programuoti'
}

retval='Aš nekenčiu programavimo'
išmetė $ retval
F1
išmetė $ retval

Sukurkite bash failą pavadinimu func1.sh naudodami aukščiau pateiktą kodą ir paleiskite scenarijų iš terminalo. Čia išvestis ' Man patinka programavimas “Priskiriamas ir atspausdinamas po funkcijos iškvietimo.





2 pavyzdys: Funkcijos komandos naudojimas

Skambinimo metu galite gauti „bash“ funkcijos grąžinimo vertę ir išsaugoti ją kintamajame. Šiame pavyzdyje vietinis kintamasis, retval yra naudojama, o vietinio kintamojo reikšmę grąžina funkcija F2 priskiriamas globaliam kintamajam, getval kuris spausdinamas vėliau.





funkcijaF2()
{
vietinis retval=„BASH funkcijos naudojimas“
išmetė '$ retval'
}

getval= $(F2)
išmetė $ getval

Sukurkite „bash“ scenarijų pavadinimu func2.sh naudodami aukščiau pateiktą kodą ir paleiskite scenarijų.




3 pavyzdys: kintamojo naudojimas

Šiame pavyzdyje funkcijos grąžinimo vertė nustatoma remiantis funkcijos argumento kintamuoju. Čia reikšmė funkcijai F3 perduodama naudojant argumento kintamąjį getval1 funkcijos iškvietimo metu. Patikrinus sąlyginį teiginį, grąžinama vertė priskiriama ir atspausdinama.

funkcijaF3()
{
vietinis arg1=1 USD

jei [[ $ arg1 !='' ]];
tada
retval=„BASH funkcija su kintamuoju“
Kitas
išmetė „Nėra argumentų“
būti
}

getval1=„Bash“ funkcija
F3$ getval1
išmetė $ retval
getval2= $(F3)
išmetė $ getval2

Sukurkite „bash“ scenarijų, pavadintą func3.sh, naudodami aukščiau pateiktą kodą ir paleiskite scenarijų.

4 pavyzdys: grąžinimo pareiškimo naudojimas

Dauguma standartinės programavimo kalbos naudoja grąžinimo teiginį, kad grąžintų funkcijos reikšmę. Funkcijų vertės grąžinamos nenaudojant jokių grąžinimo teiginių aukščiau pateiktuose pavyzdžiuose. Šiame pavyzdyje grąžinimo sakinys naudojamas norint grąžinti skaitinę reikšmę iš funkcijos F4 . Čia, $? naudojamas skaityti vertę 35, kurią grąžina funkcija naudojant grįžti pareiškimas.

funkcijaF4() {
išmetė „Bash Return Statement“
grįžti 35
}

F4
išmetė 'Funkcijos grąžinimo vertė yra $?'

Sukurkite „bash“ scenarijų pavadinimu func4.sh naudodami aukščiau pateiktą kodą ir paleiskite scenarijų.

„Bash“ funkcijas galite naudoti įvairiais būdais, norėdami grąžinti bet kurią eilutę ar skaitinę reikšmę, iškvietę funkciją. Norėdami gauti daugiau informacijos, žiūrėkite vaizdo įrašas !