Comenzi Linux

Exemplu „getopts” Linux

Exemplu „getopts” Linux
„Getopts” este o comandă foarte utilă în Linux care este în mare parte încorporată în scripturile bash pentru a lua steaguri și argumente ca intrări de la utilizator. Pentru a detalia în continuare utilizarea acestei comenzi în Linux Mint 20, vă vom împărtăși două exemple diferite de utilizare a acesteia în acest articol.

Exemple „getopts” în Linux Mint 20:

Pentru o înțelegere mai ușoară și mai bună a comenzii „getopts” în Linux Mint 20, am conceput pentru dvs. două exemple de scenarii. Înainte de a merge la aceste scenarii, puteți consulta manualul de ajutor al comenzii „getopts” din terminalul Linux Mint 20, astfel încât să puteți obține ideea de bază despre sintaxa acestei comenzi. Puteți vedea manualul de ajutor al acestei comenzi executând comanda „ajutor”:

$ getopts --help

Manualul de ajutor al comenzii „getopts” va conține o scurtă descriere a utilizării acestei comenzi împreună cu sintaxa acesteia, așa cum se arată în imaginea de mai jos:

Acum, când am parcurs manualul de ajutor al comenzii „getopts”, putem continua cu scenariile noastre de exemplu după cum urmează:

Cazul nr. 1: Trecerea steagurilor la un script Bash pentru executarea acestuia în Linux Mint 20:

În acest exemplu, vom crea un script bash care va lua un steag ca intrare de la utilizator împreună cu comanda de execuție a acelui script bash. În funcție de valoarea steagului furnizat, va fi afișată ieșirea respectivă. Descrierea detaliată a etapelor implicate în acest scenariu este următoarea:

Pasul 1: Scrierea unui script Bash:

În primul rând, vom scrie un script bash în directorul Home. Am denumit acest fișier ca getopts.SH. Conținutul acestui script bash este prezentat în imaginea de mai jos. În scriptul bash prezentat mai jos, avem o buclă „while” care rulează pe comanda „getopts”. Aici, această comandă „getopts” este utilizată pentru a lua un steag ca intrare de la utilizator. Valoarea acestui steag poate fi „r”, „y” sau „g” reprezentând culorile „roșu”, „galben” și „verde”. Variabila „opțiune” va fi utilizată pentru a stoca valoarea steagului furnizat de utilizator. Apoi am folosit o declarație „caz” pe valoarea steagului furnizat, care va afișa un mesaj personalizat în funcție de valoarea steagului „opțiune”. În cele din urmă, am închis blocul „caz” cu declarația „esac” și blocul „face” cu declarația „făcut”.

Pasul 2: Testarea scriptului Bash:

După crearea și salvarea scriptului nostru bash, acum este timpul să îl rulăm. Vom testa toate cazurile unul câte unul. Mai întâi, vom rula scriptul bash cu semnalizatorul „-r” pentru a vedea dacă produce sau nu rezultatul corect în modul următor:

$ bash getopts.sh -r

Ieșirea personalizată a scriptului nostru bash cu steagul „-r” este afișată în imaginea de mai jos:

Acum, vom rula scriptul bash cu semnalizatorul „-y” pentru a vedea dacă produce sau nu rezultatul corect în modul următor:

$ bash getopts.timid

Ieșirea personalizată a scriptului nostru bash cu steagul „-y” este afișată în imaginea de mai jos:

Acum, vom rula scriptul bash cu semnalizatorul „-g” pentru a vedea dacă produce sau nu rezultatul corect în modul următor:

$ bash getopts.sh -g

Ieșirea personalizată a scriptului nostru bash cu steagul „-g” este afișată în imaginea de mai jos:

În cele din urmă, vom rula scriptul nostru bash cu orice semnal aleatoriu, i.e. un steag care nu este valid sau un steag care nu este menționat în scriptul nostru bash spune „-a” în modul următor:

$ bash getopts.sh -a

De data aceasta, a fost executat cazul implicit al scriptului nostru bash, care a afișat un mesaj de eroare, deoarece am folosit un semnal invalid.

Cazul nr. 2: Trecerea steagurilor împreună cu Argumente către un script Bash pentru executarea acestuia în Linux Mint 20:

În acest exemplu, vom crea un script bash care va lua un steag și un argument ca intrare de la utilizator împreună cu comanda de execuție a acelui script bash. În funcție de valoarea indicatorului și argumentului furnizat, va fi produs rezultatul respectiv. Descrierea detaliată a etapelor implicate în acest scenariu este următoarea:

Pasul 1: Scrierea unui script Bash:

Scriptul bash utilizat pentru acest caz este prezentat în imaginea de mai jos și este foarte similar cu cel pe care l-am creat pentru cazul nostru # 1. Singura diferență este că, de data aceasta, nu permitem mai multe steaguri. Utilizatorul are permisiunea de a introduce doar steagul „-r”. Cu toate acestea, punctele „:” după steagul „r” din scriptul bash indică faptul că utilizatorul ar trebui să furnizeze și un argument împreună cu steagul. Acest argument va fi stocat în variabila implicită „OPTARG”. Pentru afișarea valorii argumentului furnizat cu comanda „echo”, am folosit un simbol „$” înainte de variabila „OPTARG”.

Pasul 2: Testarea scriptului Bash:

După ce ați salvat acest script bash, acum este momentul să îl testați. Din nou, vom testa toate cazurile unul câte unul. În primul rând, vom rula scriptul bash cu semnalizatorul „-r” și un exemplu de argument „negru” pentru a vedea dacă produce sau nu rezultatul corect în modul următor:

$ bash getopts.sh -r negru

Ieșirea personalizată a scriptului nostru bash cu steagul „-r” și argumentul „negru” este prezentată în imaginea de mai jos:

Acum, vom testa acest script cu un semnal nevalid și un argument valid în modul următor:

$ bash getopts.sh -a negru

De data aceasta, a fost executat cazul implicit al scriptului nostru bash, care a afișat un mesaj de eroare, deoarece am folosit un semnal invalid.

Acum, vom rula acest script bash omițând semnalizatorul și doar trecând un argument valid în modul următor:

$ bash getopts.sh negru

De data aceasta, nu va fi produsă nicio ieșire pe terminal sau cu alte cuvinte, scriptul nostru bash nu va fi executat, deoarece am omis un semnal obligatoriu.

În cele din urmă, vom rula acest script bash în timp ce omitem argumentul și doar trecem semnalizatorul valid în modul următor:

$ bash getopts.sh -r

Din nou, de data aceasta, a fost executat cazul implicit al scriptului nostru bash, care a afișat un mesaj de eroare, deoarece am omis argumentul obligatoriu.

Concluzie:

Aceste două exemple sunt o descriere foarte frumoasă a utilizării comenzii „getopts” într-un script bash în Linux Mint 20. Puteți chiar să creați scenarii mai complexe în bash și să le asociați cu comanda „getopts” pentru a lua mai multe argumente și semnalizări de la utilizator ca intrări.

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...