Linux naredbe

Primjer getoptsa za Linux

Primjer getoptsa za Linux
"Getopts" je vrlo korisna naredba u Linuxu koja je uglavnom ugrađena u bash skripte kako bi uzela zastavice i argumente kao ulaze od korisnika. Kako bismo dodatno razradili upotrebu ove naredbe u Linux Mint 20, podijelit ćemo s vama dva različita primjera njezine upotrebe u ovom članku.

Primjeri za „getopts“ u Linux Mint 20:

Za lakše i bolje razumijevanje naredbe "getopts" u Linux Mint 20, za vas smo osmislili dva primjera scenarija. Prije nego što krenete u ove scenarije, možete pogledati priručnik za pomoć naredbe "getopts" u terminalu Linux Mint 20 kako biste mogli dobiti osnovnu ideju o sintaksi ove naredbe. Priručnik za pomoć ove naredbe možete vidjeti izvršavanjem naredbe "help":

$ getopts - pomoć

Priručnik za pomoć naredbe "getopts" sadržavat će kratki opis korištenja ove naredbe zajedno sa sintaksom kako je prikazano na donjoj slici:

Sada kada smo prošli kroz priručnik za pomoć naredbe "getopts", možemo nastaviti s našim primjerima scenarija kako slijedi:

Slučaj # 1: Prosljeđivanje zastavica bash skripti za njegovo izvršavanje u Linux Mint 20:

U ovom primjeru stvorit ćemo bash skriptu koja će uzimati zastavicu kao ulaz od korisnika zajedno s naredbom izvršenja te bash skripte. Ovisno o vrijednosti pružene zastavice, prikazat će se odgovarajući izlaz. Detaljan opis koraka uključenih u ovaj scenarij je sljedeći:

1. korak: Pisanje bashove skripte:

Prvo ćemo napisati bash skriptu u naš početni direktorij. Nazvali smo ovu datoteku getopts.sh. Sadržaj ove bash skripte prikazan je na donjoj slici. U bash skripti prikazanoj dolje imamo petlju "while" koja se izvodi na naredbi "getopts". Ovdje se ova naredba "getopts" koristi za uzimanje zastavice kao ulaza od korisnika. Vrijednost ove zastavice može biti "r", "y" ili "g" predstavljajući "crvenu", "žutu" i "zelenu" boju. Varijabla "option" koristit će se za pohranu vrijednosti zastave koju je pružio korisnik. Tada smo upotrijebili izraz "case" o vrijednosti pružene zastavice koja će prikazati prilagođenu poruku ovisno o vrijednosti zastavice "option". Konačno, blok „case“ zatvorili smo izjavom „esac“, a blok „do“ naredbom „done“.

Korak # 2: Testiranje Bash skripte:

Nakon stvaranja i spremanja naše bash skripte, vrijeme je da je pokrenete. Ispitat ćemo sve slučajeve jedan po jedan. Prvo ćemo pokrenuti bash skriptu s oznakom “-r” kako bismo provjerili daje li točan izlaz ili ne na sljedeći način:

$ bash getopts.sh -r

Prilagođeni izlaz naše bash skripte s oznakom "-r" prikazan je na donjoj slici:

Sada ćemo pokrenuti bash skriptu s oznakom "-y" kako bismo provjerili daje li točan izlaz na sljedeći način:

$ bash getopts.stidljiv

Prilagođeni izlaz naše bash skripte s oznakom "-y" prikazan je na donjoj slici:

Sada ćemo pokrenuti bash skriptu s zastavicom “-g” kako bismo provjerili daje li točan izlaz ili ne na sljedeći način:

$ bash getopts.sh -g

Prilagođeni izlaz naše bash skripte s oznakom "-g" prikazan je na donjoj slici:

Napokon, pokrenut ćemo našu bash skriptu s bilo kojom slučajnom oznakom, tj.e. zastava koja nije valjana ili zastava koja nije navedena u našoj bash skripti kaže "-a" na sljedeći način:

$ bash getopts.š-a

Ovaj put je izvršen zadani slučaj naše bash skripte koji je prikazao poruku o pogrešci jer smo koristili nevažeću zastavicu.

Slučaj # 2: Prosljeđivanje zastava zajedno s argumentima u Bash skriptu za njegovo izvršavanje u Linux Mint 20:

U ovom primjeru stvorit ćemo bash skriptu koja će uzimati zastavicu i argument kao ulaz od korisnika zajedno s naredbom izvršenja te bash skripte. Ovisno o vrijednosti pružene zastavice i argumenta, proizvest će se odgovarajući izlaz. Detaljan opis koraka uključenih u ovaj scenarij je sljedeći:

1. korak: Pisanje bashove skripte:

Skripta bash koja se koristi za ovaj slučaj prikazana je na donjoj slici i vrlo je slična onoj koju smo kreirali za naš slučaj # 1. Jedina je razlika što ovoga puta ne dopuštamo više zastava. Korisniku je dopušten unos samo oznake "-r". Međutim, dvotočka „:“ iza zastavice „r“ u bash skripti ukazuje na to da bi korisnik također trebao pružiti argument zajedno sa zastavicom. Ovaj će se argument pohraniti u zadanu varijablu "OPTARG". Za prikaz vrijednosti navedenog argumenta pomoću naredbe "echo" upotrijebili smo simbol "$" prije varijable "OPTARG".

Korak # 2: Testiranje Bash skripte:

Nakon spremanja ove bash skripte, sada je vrijeme da je testirate. Ponovno ćemo testirati sve slučajeve jedan po jedan. Prvo ćemo pokrenuti bash skriptu s zastavicom „-r“ i uzorkom argumenta „crno“ kako bismo provjerili daje li točan izlaz ili ne na sljedeći način:

$ bash getopts.sh -r crna

Prilagođeni izlaz naše bash skripte s oznakom "-r" i argumentom "crno" prikazan je na donjoj slici:

Sada ćemo testirati ovu skriptu s nevaljanom zastavicom i valjanim argumentom na sljedeći način:

$ bash getopts.sh -a crna

Ovaj put je izvršen zadani slučaj naše bash skripte koji je prikazao poruku o pogrešci jer smo koristili nevažeću zastavicu.

Sada ćemo pokrenuti ovu bash skriptu izostavljajući zastavicu i samo prosljeđujući valjani argument na sljedeći način:

$ bash getopts.sh crno

Ovaj put se na terminalu neće stvarati izlaz ili drugim riječima, naša bash skripta se neće izvršiti jer smo preskočili obaveznu zastavicu.

Na kraju ćemo pokrenuti ovu bash skriptu izostavljajući argument i samo prosljeđujući važeću zastavicu na sljedeći način:

$ bash getopts.sh -r

I ovaj put je izveden zadani slučaj naše bash skripte koji je prikazao poruku o pogrešci jer smo preskočili obavezni argument.

Zaključak:

Ova dva primjera vrlo su lijep prikaz upotrebe naredbe "getopts" u bash skripti u Linux Mint 20. Možete čak stvoriti složenije scenarije u bashu i upariti ih s naredbom "getopts" da biste uzeli više od jednog argumenta i zastavice od korisnika kao ulaze.

Top 5 ergonomskih proizvoda za računalni miš za Linux
Uzrokuje li dugotrajno korištenje računala bolove u zapešću ili prstima? Patite li od ukočenih zglobova i stalno se morate rukovati? Osjećate li goruć...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Zamijenite svoje tipke miša različito za različiti softver pomoću X-Mouse Button Control
Možda vam treba alat koji bi mogao promijeniti kontrolu miša sa svakom aplikacijom koju koristite. Ako je to slučaj, možete isprobati aplikaciju pod n...