Linux komandas

Linux “getopts” piemērs

Linux “getopts” piemērs
“Getopts” ir ļoti noderīga komanda Linux, kas galvenokārt ir iekļauta bash skriptos, lai karodziņus un argumentus ņemtu no lietotāja ieejas. Lai sīkāk aprakstītu šīs komandas lietošanu Linux Mint 20, mēs šajā rakstā dalīsimies ar diviem dažādiem tās izmantošanas piemēriem.

Linux get 20 piemēri “getopts”:

Lai vienkāršāk un labāk izprastu komandu “getopts” Linux Mint 20, mēs esam izstrādājuši jums divus scenāriju piemērus. Pirms dodaties uz šiem scenārijiem, varat iepazīties ar komandas “getopts” palīdzības rokasgrāmatu Linux Mint 20 terminālā, lai iegūtu pamatideju par šīs komandas sintaksi. Šīs komandas palīdzības rokasgrāmatu var apskatīt, izpildot komandu “help”:

$ getopts --help

Komandas “getopts” palīdzības rokasgrāmatā būs īss šīs komandas izmantošanas apraksts kopā ar tās sintaksi, kā parādīts zemāk esošajā attēlā:

Tagad, kad esam izlasījuši komandas “getopts” palīdzības rokasgrāmatu, mēs varam turpināt scenāriju piemērus šādi:

1. gadījums: karodziņu nodošana Bash skriptam tā izpildei Linux Mint 20:

Šajā piemērā mēs izveidosim bash skriptu, kas no lietotāja ievadīs karodziņu kopā ar šī bash skripta izpildes komandu. Atkarībā no norādītā karodziņa vērtības tiks parādīta attiecīgā izeja. Šajā scenārijā iesaistīto darbību detalizēts apraksts ir šāds:

1. solis: Bash skripta rakstīšana:

Pirmkārt, mēs uzrakstīsim bash skriptu mūsu mājas direktorijā. Mēs šo failu esam nosaukuši par getopts.sh. Šī bash skripta saturs ir parādīts zemāk esošajā attēlā. Zemāk parādītajā bash skriptā mums ir cilne “while”, kas darbojas ar komandu “getopts”. Šeit šī komanda “getopts” tiek izmantota, lai no lietotāja ievadītu karodziņu. Šī karoga vērtība var būt vai nu “r”, “y” vai “g”, kas attiecīgi apzīmē “sarkano”, “dzelteno” un “zaļo” krāsu. Mainīgais “option” tiks izmantots, lai saglabātu lietotāja norādītā karoga vērtību. Pēc tam mēs esam izmantojuši paziņojumu “gadījums” par norādītā karodziņa vērtību, kurā tiks parādīts pielāgots ziņojums atkarībā no opcijas karodziņa vērtības. Visbeidzot, mēs esam aizvēruši “lietas” bloku ar “esac” paziņojumu un “do” bloku ar paziņojumu “izdarīts”.

2. solis: Bash skripta pārbaude:

Pēc mūsu bash skripta izveidošanas un saglabāšanas ir pienācis laiks to palaist. Mēs pārbaudīsim visus gadījumus pa vienam. Pirmkārt, mēs palaidīsim bash skriptu ar “-r” karodziņu, lai redzētu, vai tas rada pareizu izvadi šādā veidā:

$ bash getopts.sh -r

Pielāgota mūsu bash skripta izeja ar “-r” karodziņu ir parādīta zemāk esošajā attēlā:

Tagad mēs palaidīsim bash skriptu ar karodziņu “-y”, lai redzētu, vai tas nodrošina pareizu izvadi šādā veidā:

$ bash getopts.sh -y

Pielāgota mūsu bash skripta izeja ar “-y” karodziņu ir parādīta zemāk esošajā attēlā:

Tagad mēs palaidīsim bash skriptu ar karodziņu “-g”, lai redzētu, vai tas nodrošina pareizu izvadi šādā veidā:

$ bash getopts.sh -g

Pielāgota mūsu bash skripta izeja ar “-g” karodziņu ir parādīta zemāk esošajā attēlā:

Visbeidzot, mēs palaidīsim savu bash skriptu ar jebkuru nejaušu karodziņu, t.i.e. karodziņš, kas nav derīgs, vai karogs, kas nav minēts mūsu bash rakstībā, saka “-a” šādā veidā:

$ bash getopts.sh -a

Šoreiz ir izpildīts mūsu bash skripta noklusējuma gadījums, kurā ir parādīts kļūdas ziņojums, jo mēs esam izmantojuši nederīgu karodziņu.

2. gadījums: karodziņu nodošana kopā ar argumentiem Bash skriptam tā izpildei Linux Mint 20:

Šajā piemērā mēs izveidosim bash skriptu, kas no lietotāja ievadīs karodziņu un argumentu kopā ar šī bash skripta izpildes komandu. Atkarībā no norādītā karoga un argumenta vērtības tiks izveidota attiecīgā izeja. Šajā scenārijā iesaistīto darbību detalizēts apraksts ir šāds:

1. solis: Bash skripta rakstīšana:

Šajā gadījumā izmantotais bash skripts ir parādīts zemāk esošajā attēlā un ir ļoti līdzīgs tam, ko mēs izveidojām mūsu gadījumam # 1. Vienīgā atšķirība ir tāda, ka šoreiz mēs neatļaujam vairākus karodziņus. Lietotājam ir atļauts ievadīt tikai “-r” karodziņu. Tomēr kolona “:” pēc karoga “r” bash skriptā norāda, ka lietotājam ir jāsniedz arī arguments kopā ar karodziņu. Šis arguments tiks saglabāts noklusējuma mainīgajā “OPTARG”. Norādītā argumenta vērtības parādīšanai ar komandu “echo” pirms mainīgā “OPTARG” esam izmantojuši simbolu “$”.

2. solis: Bash skripta pārbaude:

Pēc šī bash skripta saglabāšanas ir pienācis laiks to pārbaudīt. Atkal mēs pārbaudīsim visus gadījumus pa vienam. Pirmkārt, mēs palaidīsim bash skriptu ar “-r” karodziņu un argumenta paraugu “black”, lai redzētu, vai tas nodrošina pareizu izvadi šādā veidā:

$ bash getopts.sh -r melns

Pielāgota mūsu bash skripta izeja ar “-r” karogu un “black” argumentu ir parādīta zemāk esošajā attēlā:

Tagad mēs pārbaudīsim šo skriptu ar nederīgu karodziņu un derīgu argumentu šādā veidā:

$ bash getopts.sh -a melns

Šoreiz ir izpildīts mūsu bash skripta noklusējuma gadījums, kurā ir parādīts kļūdas ziņojums, jo mēs esam izmantojuši nederīgu karodziņu.

Tagad mēs palaidīsim šo bash skriptu, izlaižot karodziņu un vienkārši nododot derīgu argumentu šādā veidā:

$ bash getopts.sh melns

Šoreiz terminālā netiks izveidota neviena izeja vai, citiem vārdiem sakot, mūsu bash skripts netiks izpildīts, jo mēs esam izlaiduši obligātu karodziņu.

Visbeidzot, mēs palaidīsim šo bash skriptu, izlaižot argumentu un vienkārši nododot derīgo karodziņu šādā veidā:

$ bash getopts.sh -r

Arī šoreiz ir izpildīts mūsu bash skripta noklusējuma gadījums, kurā ir parādīts kļūdas ziņojums, jo mēs esam izlaiduši obligāto argumentu.

Secinājums:

Šie divi piemēri ir ļoti jauks komandas “getopts” izmantošanas attēls bash skriptā Linux Mint 20. Jūs pat varat izveidot sarežģītākus scenārijus bashā un savienot tos pārī ar komandu “getopts”, lai no lietotāja kā ievadi ņemtu vairākus argumentus un karodziņus.

Kā instalēt un spēlēt Doom uz Linux
Ievads liktenī Doom sērija radās 90. gados pēc sākotnējā Doom izlaišanas. Tas bija tūlītējs hīts, un kopš tā laika spēļu sērija ir saņēmusi daudzas ba...
Vulkan Linux lietotājiem
Ar katru jauno grafisko karšu paaudzi mēs redzam, kā spēļu izstrādātāji pārspēj grafiskās uzticamības robežas un tuvojas fotoreālismam. Neskatoties uz...
OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...