Polecenia Linuksa

Przykład „getoptów” Linuksa

Przykład „getoptów” Linuksa
„getopts” to bardzo przydatne polecenie w systemie Linux, które jest w większości wbudowane w skrypty bash, aby pobierać flagi i argumenty jako dane wejściowe od użytkownika. Aby dokładniej omówić użycie tego polecenia w Linux Mint 20, podzielimy się z Tobą dwoma różnymi przykładami jego użycia w tym artykule.

Przykłady „getopts” w Linux Mint 20:

Dla łatwiejszego i lepszego zrozumienia polecenia „getopts” w Linux Mint 20 zaprojektowaliśmy dla Ciebie dwa przykładowe scenariusze. Przed przejściem do tych scenariuszy możesz zapoznać się z instrukcją pomocy polecenia „getopts” w terminalu Linux Mint 20, aby uzyskać podstawowe pojęcie o składni tego polecenia. Możesz zobaczyć instrukcję pomocy tego polecenia, wykonując polecenie „pomoc”:

$ getopts --help

Instrukcja pomocy polecenia „getopts” będzie zawierać krótki opis użycia tego polecenia wraz z jego składnią, jak pokazano na poniższym obrazku:

Teraz, gdy przejrzeliśmy instrukcję pomocy polecenia „getopts”, możemy postępować z naszymi przykładowymi scenariuszami w następujący sposób:

Przypadek nr 1: Przekazywanie flag do skryptu Bash w celu jego wykonania w Linux Mint 20:

W tym przykładzie stworzymy skrypt bash, który przyjmie flagę jako dane wejściowe od użytkownika wraz z poleceniem wykonania tego skryptu bash. W zależności od wartości podanej flagi zostanie wyświetlone odpowiednie wyjście. Szczegółowy opis kroków związanych z tym scenariuszem jest następujący:

Krok #1: Pisanie skryptu Bash:

Najpierw napiszemy skrypt basha w naszym katalogu domowym. Nazwaliśmy ten plik jako getopts.cii. Zawartość tego skryptu bash jest pokazana na poniższym obrazku. W pokazanym poniżej skrypcie basha mamy pętlę „while”, która działa na poleceniu „getopts”. Tutaj to polecenie „getopts” służy do pobrania flagi jako danych wejściowych od użytkownika. Wartością tej flagi może być „r”, „y” lub „g” reprezentujące odpowiednio kolory „czerwony”, „żółty” i „zielony”. Zmienna „opcja” będzie używana do przechowywania wartości flagi dostarczonej przez użytkownika. Następnie użyliśmy instrukcji „case” na wartości podanej flagi, która wyświetli dostosowany komunikat w zależności od wartości flagi „opcja”. Na koniec zamknęliśmy blok „sprawa” instrukcją „esac”, a blok „do” instrukcją „done”.

Krok nr 2: Testowanie skryptu Bash:

Po utworzeniu i zapisaniu naszego skryptu bash nadszedł czas, aby go uruchomić. Będziemy testować wszystkie przypadki jeden po drugim. Najpierw uruchomimy skrypt bash z flagą „-r”, aby sprawdzić, czy generuje poprawne dane wyjściowe, czy nie, w następujący sposób:

$ bash getopts.sh-r

Dostosowane wyjście naszego skryptu bash z flagą „-r” pokazano na poniższym obrazku:

Teraz uruchomimy skrypt bash z flagą „-y”, aby sprawdzić, czy generuje poprawne dane wyjściowe, czy nie, w następujący sposób:

$ bash getopts.sh-y

Dostosowane wyjście naszego skryptu bash z flagą „-y” pokazano na poniższym obrazku:

Teraz uruchomimy skrypt bash z flagą „-g”, aby sprawdzić, czy generuje poprawne dane wyjściowe, czy nie, w następujący sposób:

$ bash getopts.sh-g

Niestandardowe wyjście naszego skryptu bash z flagą „-g” pokazano na poniższym obrazku:

Na koniec uruchomimy nasz skrypt bash z dowolną losową flagą, i.mi. flaga, która jest nieprawidłowa lub flaga, która nie jest wymieniona w naszym skrypcie basha, mówi „-a” w następujący sposób:

$ bash getopts.sh-a

Tym razem został wykonany domyślny przypadek naszego skryptu bash, który wyświetlił komunikat o błędzie, ponieważ użyliśmy nieprawidłowej flagi.

Przypadek nr 2: Przekazywanie flag wraz z argumentami do skryptu Bash w celu jego wykonania w Linux Mint 20:

W tym przykładzie stworzymy skrypt bash, który będzie pobierał flagę i argument jako dane wejściowe od użytkownika wraz z poleceniem wykonania tego skryptu bash. W zależności od wartości podanej flagi i argumentu zostaną wytworzone odpowiednie dane wyjściowe. Szczegółowy opis kroków związanych z tym scenariuszem jest następujący:

Krok #1: Pisanie skryptu Bash:

Skrypt bash użyty w tym przypadku jest pokazany na poniższym obrazku i jest bardzo podobny do tego, który stworzyliśmy dla naszego przypadku nr 1. Jedyna różnica polega na tym, że tym razem nie zezwalamy na wielokrotne flagi. Użytkownik może wprowadzić tylko flagę „-r”. Jednak dwukropek „:” po fladze „r” w skrypcie bash wskazuje, że użytkownik powinien również podać argument wraz z flagą. Ten argument będzie przechowywany w domyślnej zmiennej „OPTARG”. Do wyświetlenia wartości podanego argumentu poleceniem „echo” użyliśmy symbolu „$” przed zmienną „OPTARG”.

Krok nr 2: Testowanie skryptu Bash:

Po zapisaniu tego skryptu basha nadszedł czas, aby go przetestować. Ponownie będziemy testować wszystkie przypadki jeden po drugim. Najpierw uruchomimy skrypt bash z flagą „-r” i przykładowym argumentem „black”, aby sprawdzić, czy generuje poprawne dane wyjściowe, czy nie, w następujący sposób:

$ bash getopts.sh -r czarny

Dostosowane wyjście naszego skryptu bash z flagą „-r” i argumentem „czarny” pokazano na poniższym obrazku:

Teraz przetestujemy ten skrypt z nieprawidłową flagą i prawidłowym argumentem w następujący sposób:

$ bash getopts.sh -a czarny

Tym razem został wykonany domyślny przypadek naszego skryptu bash, który wyświetlił komunikat o błędzie, ponieważ użyliśmy nieprawidłowej flagi.

Teraz uruchomimy ten skrypt bash, pomijając flagę i po prostu przekazując prawidłowy argument w następujący sposób:

$ bash getopts.ci czarny

Tym razem na terminalu nie zostaną wygenerowane żadne dane wyjściowe lub innymi słowy, nasz skrypt bash nie zostanie wykonany, ponieważ pominęliśmy obowiązkową flagę.

Na koniec uruchomimy ten skrypt bash, pomijając argument i po prostu przekazując poprawną flagę w następujący sposób:

$ bash getopts.sh-r

Ponownie tym razem został wykonany domyślny przypadek naszego skryptu bash, który wyświetlił komunikat o błędzie, ponieważ pominęliśmy obowiązkowy argument.

Wniosek:

Te dwa przykłady są bardzo ładnym przedstawieniem użycia polecenia „getopts” w skrypcie bash w Linux Mint 20. Możesz nawet tworzyć bardziej złożone scenariusze w bash i łączyć je z poleceniem „getopts”, aby pobrać więcej niż jeden argument i flagi od użytkownika jako dane wejściowe.

Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?
Większość dystrybucji Linuksa jest domyślnie dostarczana z biblioteką „libinput” do obsługi zdarzeń wejściowych w systemie. Może przetwarzać zdarzenia...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...