„Getopts“ pavyzdžiai „Linux Mint 20“:
Norėdami lengviau ir geriau suprasti „Linux Mint 20“ komandą „getopts“, mes sukūrėme jums du scenarijų pavyzdžius. Prieš pereidami prie šių scenarijų, galite peržiūrėti „Linux Mint 20“ terminalo komandos „getopts“ pagalbos vadovą, kad gautumėte pagrindinę idėją apie šios komandos sintaksę. Šios komandos pagalbos vadovą galite pamatyti vykdydami komandą „help“:
$ getopts - pagalba
Komandos „getopts“ pagalbos vadove bus trumpas šios komandos naudojimo aprašymas kartu su sintakse, kaip parodyta žemiau esančiame paveikslėlyje:
Dabar, kai peržiūrėsime „getopts“ komandos pagalbos vadovą, scenarijų pavyzdžius galime tęsti taip:
1 atvejis: „Bash“ scenarijaus žymių perdavimas vykdant „Linux Mint 20“:
Šiame pavyzdyje sukursime „bash“ scenarijų, kuris pažymės žymeklį kaip vartotojo įvestį kartu su to „bash“ scenarijaus vykdymo komanda. Atsižvelgiant į pateiktos vėliavos vertę, bus rodoma atitinkama išvestis. Išsamus šiame scenarijuje aprašytų veiksmų aprašymas yra toks:
1 žingsnis: „Bash“ scenarijaus rašymas:
Pirmiausia mes parašysime bash scenarijų savo namų kataloge. Mes pavadinome šį failą kaip „getopts“.sh. Šio bash scenarijaus turinys parodytas paveikslėlyje žemiau. Žemiau pateiktame „bash“ scenarijuje mes turime „while“ kilpą, kuri vykdoma komandoje „getopts“. Čia ši „getopts“ komanda naudojama kaip vėliava kaip vartotojo įvestis. Šios vėliavos vertė gali būti „r“, „y“ arba „g“, atitinkamai nurodant „raudoną“, „geltoną“ ir „žalią“ spalvas. Kintamasis „option“ bus naudojamas vartotojo nurodytos vėliavos vertei išsaugoti. Tada mes panaudojome „case“ sakinį apie pateiktos vėliavos vertę, kuri parodys pritaikytą pranešimą, priklausomai nuo žymos „option“ vertės. Galiausiai mes uždarėme „bylos“ bloką su „esac“ sakiniu ir „do“ bloką su „atliktu“ sakiniu.
2 žingsnis: „Bash“ scenarijaus testavimas:
Sukūrus ir išsaugojus bash scenarijų, atėjo laikas jį paleisti. Mes išbandysime visus atvejus po vieną. Pirma, vykdysime „bash“ scenarijų su žyma „-r“, kad pamatytume, ar jis pateikia teisingą išvestį, ar ne tokiu būdu:
$ bash getopts.sh -r
Tinkinta mūsų bash scenarijaus išvestis su „-r“ vėliava rodoma žemiau esančiame paveikslėlyje:
Dabar vykdysime „bash“ scenarijų su žyma „-y“, kad pamatytume, ar jis pateikia teisingą išvestį, ar ne tokiu būdu:
$ bash getopts.sh -y
Tinkinta mūsų bash scenarijaus išvestis su „-y“ vėliava rodoma žemiau esančiame paveikslėlyje:
Dabar paleisime „bash“ scenarijų su žyma „-g“, kad pamatytume, ar jis pateikia teisingą išvestį, ar ne tokiu būdu:
$ bash getopts.sh -g
Individualus mūsų „bash“ scenarijaus išėjimas su „-g“ vėliava rodomas žemiau esančiame paveikslėlyje:
Galiausiai paleisime savo bash scenarijų su bet kokia atsitiktine vėliava, t.e. netinkama arba mūsų bash scenarijuje nepaminėta vėliava sako „-a“ tokiu būdu:
$ bash getopts.sh -a
Šį kartą buvo įvykdytas numatytasis mūsų „bash“ scenarijaus atvejis, kuriame buvo rodomas klaidos pranešimas, nes mes panaudojome neteisingą vėliavą.
2 atvejis: „Flag Mint“ ir „Bash“ scenarijaus perdavimas vykdant „Linux Mint 20“:
Šiame pavyzdyje sukursime „bash“ scenarijų, kuris pažymės žymeklį ir argumentą kaip vartotojo įvestį kartu su to „bash“ scenarijaus vykdymo komanda. Atsižvelgiant į pateiktos žymos ir argumento vertę, bus sukurta atitinkama išvestis. Išsamus šiame scenarijuje aprašytų veiksmų aprašymas yra toks:
1 žingsnis: „Bash“ scenarijaus rašymas:
Šiuo atveju naudojamas „bash“ scenarijus parodytas žemiau esančiame paveikslėlyje ir yra labai panašus į tą, kurį sukūrėme savo bylai Nr. 1. Vienintelis skirtumas yra tas, kad šį kartą neleidžiame kelių vėliavų. Vartotojui leidžiama įvesti tik „-r“ vėliavą. Tačiau „:“ dvitaškis po „r“ žymos bash scenarijuje rodo, kad vartotojas taip pat turėtų pateikti argumentą kartu su vėliava. Šis argumentas bus saugomas numatytame „OPTARG“ kintamajame. Pateikto argumento reikšmei su komanda „echo“ rodyti naudojome simbolį „$“ prieš kintamąjį „OPTARG“.
2 žingsnis: „Bash“ scenarijaus testavimas:
Išsaugoję šį „bash“ scenarijų, dabar pats laikas jį išbandyti. Vėlgi, mes išbandysime visus atvejus po vieną. Pirmiausia paleisime „bash“ scenarijų su „-r“ vėliava ir pavyzdiniu argumentu „juoda“, norėdami sužinoti, ar jis pateikia teisingą išvestį, ar ne tokiu būdu:
$ bash getopts.sh -r juoda
Tinkinta mūsų bash scenarijaus išvestis su „-r“ vėliava ir „black“ argumentu rodoma žemiau esančiame paveikslėlyje:
Dabar mes išbandysime šį scenarijų su netinkama vėliava ir galiojančiu argumentu taip:
$ bash getopts.sh -a juoda
Šį kartą buvo įvykdytas numatytasis mūsų „bash“ scenarijaus atvejis, kuriame buvo rodomas klaidos pranešimas, nes mes panaudojome neteisingą vėliavą.
Dabar vykdysime šį „bash“ scenarijų, praleisdami vėliavą ir tiesiog pateikdami galiojantį argumentą tokiu būdu:
$ bash getopts.sh juoda
Šį kartą terminale nebus sukurta išvestis arba, kitaip tariant, mūsų bash scenarijus nebus vykdomas, nes mes praleidome privalomą vėliavą.
Galiausiai vykdysime šį „bash“ scenarijų, praleisdami argumentą ir tiesiog perduodami galiojančią vėliavą tokiu būdu:
$ bash getopts.sh -r
Vėlgi, įvykdytas numatytasis mūsų bash scenarijaus atvejis, kuriame buvo parodytas klaidos pranešimas, nes mes praleidome privalomą argumentą.
Išvada:
Šie du pavyzdžiai yra labai gražus „getopts“ komandos naudojimas „Linux Mint 20“ scenarijuje „bash“. Jūs netgi galite sukurti sudėtingesnius scenarijus „bash“ ir suporuoti juos su komanda „getopts“, kad iš vartotojo įvestumėte daugiau nei vieną argumentą ir žymes.