Linuxi käsud

Linuxi getopts näide

Linuxi getopts näide
“Getopts” on Linuxis väga kasulik käsk, mis on enamasti integreeritud bashi skriptidesse, et võtta lipud ja argumendid kasutaja sisenditena. Selle käsu kasutamise täiendavaks arendamiseks Linux Mint 20-s jagame teiega selles artiklis kahte erinevat näidet selle kasutamise kohta.

“Getopts” näited Linux Mint 20-s:

Linux Mint 20 käsu getopts hõlpsamaks ja paremaks mõistmiseks oleme teile välja töötanud kaks stsenaariumi. Enne nende stsenaariumide poole pöördumist saate tutvuda Linux Mint 20 terminali käsu getopts kasutusjuhendiga, et saaksite selle käsu süntaksist põhiidee. Selle käsu abijuhendit näete, käivitades käsu “help”:

$ getopts --help

Käsu getopts kasutusjuhend sisaldab lühikirjeldust selle käsu kasutamise kohta koos selle süntaksiga, nagu on näidatud alloleval pildil:

Nüüd, kui oleme käinud läbi käsu getopts abijuhendi, saame oma näite stsenaariume jätkata järgmiselt:

Juhtum nr 1: lippude edastamine Bashi skriptile selle täitmiseks Linux Mint 20-s:

Selles näites loome bashi skripti, mis võtab kasutaja sisendiks lipu koos selle bashi skripti käivitamise käsuga. Sõltuvalt pakutava lipu väärtusest kuvatakse vastav väljund. Selles stsenaariumis osalevate sammude üksikasjalik kirjeldus on järgmine:

1. samm: Bashi skripti kirjutamine:

Kõigepealt kirjutame bash-skripti oma kodukataloogi. Oleme nimetanud selle faili getoptsiks.sh. Selle bashi skripti sisu on näidatud alloleval pildil. Allpool toodud bashi skriptis on meil silmus "while", mis töötab käsul "getopts". Siin kasutatakse seda käsku getopts, et võtta kasutaja sisendiks lipp. Selle lipu väärtus võib olla kas “r”, “y” või “g”, mis tähistavad vastavalt “punast”, “kollast” ja “rohelist” värvi. Muutujat „variant” kasutatakse kasutaja poolt pakutava lipu väärtuse salvestamiseks. Seejärel kasutasime pakutava lipu väärtust lause „juhtum”, mis kuvab kohandatud sõnumit sõltuvalt lipu „valik” väärtusest. Lõpuks oleme blokeerinud lause „juhtum” lausega „esac” ja lause „teha” lausega „valmis”.

2. samm: Bashi skripti testimine:

Pärast meie bashi skripti loomist ja salvestamist on nüüd aeg seda käivitada. Testime kõiki juhtumeid ükshaaval. Kõigepealt käivitame bashi skripti lipuga „-r”, et näha, kas see annab õige väljundi või mitte järgmisel viisil:

$ bash getopts.sh -r

Meie bashi skripti kohandatud väljund lipuga “-r” on näidatud alloleval pildil:

Nüüd käivitame bashi skripti lipuga -y, et näha, kas see annab õige väljundi järgmisel viisil:

$ bash getopts.sh-ai

Meie bashi skripti kohandatud väljund lipuga “-y” on näidatud alloleval pildil:

Nüüd käivitame bashi skripti lipuga -g, et näha, kas see annab õige väljundi või mitte järgmisel viisil:

$ bash getopts.sh -g

Meie bashi skripti kohandatud väljund lipuga “-g” on näidatud alloleval pildil:

Lõpuks käivitame oma bashi skripti mis tahes juhusliku lipuga, st.e. Kehtetu lipp või lipp, mida meie bashi skriptis pole mainitud, ütleb “-a” järgmiselt:

$ bash getopts.sh -a

Seekord on käivitatud meie bashi skripti vaikimisi juhtum, mis kuvas veateate, kuna oleme valet lippu kasutanud.

Juhtum nr 2: lippude edastamine koos argumentidega Bashi skriptile selle täitmiseks Linux Mint 20-s:

Selles näites loome bashi skripti, mis võtab kasutaja sisendiks lipu ja argumendi koos selle bashi skripti käivitamise käsuga. Sõltuvalt esitatud lipu ja argumendi väärtusest toodetakse vastav väljund. Selles stsenaariumis osalevate sammude üksikasjalik kirjeldus on järgmine:

1. samm: Bashi skripti kirjutamine:

Selle juhtumi jaoks kasutatud bashi skript on näidatud alloleval pildil ja on väga sarnane sellega, mille lõime meie juhtumi jaoks # 1. Ainus erinevus on see, et seekord ei luba me mitu lippu. Kasutajal on lubatud sisestada ainult „-r” lipp. Bash-skripti lipu „r” järel olev koolon „:” näitab aga, et kasutaja peaks ka koos lipuga esitama argumendi. See argument salvestatakse vaikimisi muutujasse „OPTARG”. Esitatud argumendi väärtuse kuvamiseks käsuga “echo” oleme enne muutujat “OPTARG” kasutanud sümbolit “$”.

2. samm: Bashi skripti testimine:

Pärast selle bashi skripti salvestamist on nüüd aeg seda testida. Jällegi testime kõiki juhtumeid ükshaaval. Kõigepealt käivitame bashi skripti lipu “-r” ja näidisargumendiga “must”, et näha, kas see annab õige väljundi või mitte järgmisel viisil:

$ bash getopts.sh -r must

Meie bashi skripti kohandatud väljund lipuga „-r” ja „must” on näidatud alloleval pildil:

Nüüd testime seda skripti vale lipu ja kehtiva argumendiga järgmisel viisil:

$ bash getopts.sh -a must

Seekord on käivitatud meie bashi skripti vaikimisi juhtum, mis kuvas veateate, kuna oleme valet lipu kasutanud.

Nüüd käivitame selle bashi skripti, jättes lipu välja ja edastades kehtiva argumendi järgmisel viisil:

$ bash getopts.sh must

Seekord ei toodeta terminalis väljundit ehk teisisõnu, meie bashi skripti ei käivitata, kuna oleme kohustusliku lipu vahele jätnud.

Lõpuks käivitame selle bashi skripti, jättes argumendi välja ja edastades kehtiva lipu järgmiselt:

$ bash getopts.sh -r

Jällegi on meie bashi skripti vaikimisi täidetud juhtum, mis kuvas veateate, kuna oleme kohustusliku argumendi vahele jätnud.

Järeldus:

Need kaks näidet on väga kena käsu getopts kasutamine bash-skriptis Linux Mint 20-s. Bashis saate isegi luua keerukamaid stsenaariume ja siduda need käsuga getopts, et kasutajalt sisenditena võtta rohkem kui üks argument ja lipud.

Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...
Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...
Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...