Korzystanie z Regex w instrukcjach spraw Bash

Korzystanie z Regex w instrukcjach spraw Bash
Mówi się, że wyrażenie regularne lub regularne są alfanumeryczne ciągi używane do tworzenia zapytań wyszukiwania. Wyrażenia regularne są używane jako wyszukiwanie i zastąpienie podczas walidacji niektórych warunków. Regex może być używany w programowaniu BASH lub w dowolnym innym języku programowania. Przez większość czasu Regex jest użyteczny w oświadczeniach GREP, a nie w oświadczeniach sprawy. Ten przewodnik zobaczy, jak wyrażenia regularne działają z instrukcją sprawy podczas korzystania z Ubuntu 20.04 System Linux. Musisz zalogować się z systemu przed pójściem dalej.

Przykład 01:

Wiele razy użytkownicy miały trudności z użyciem Regex (wyrażenia regularne) w stwierdzeniach „sprawy”, ponieważ „Regex” nigdy nie działa w ramach instrukcji przypadków. Alternatywnie, „GREP” zawsze był używany zamiast oświadczenia o użyciu wyrażenia regularności w Bash. Zobaczymy prosty przykład, aby zobaczyć, jak GREP i obudowa podczas korzystania z wyrażeń regularnych. Otwórz więc konsolę końcową przed przejściem dalej przez skrót „Ctrl+alt+t”. Po otwarciu terminalu musisz utworzyć nowy plik bash z zapytaniem dotykowym.

$ Touch Test.cii

Po utworzeniu pliku Bash otwórz go, aby dodać kod BASH. W tym celu wypróbuj zapytanie podane poniżej.

Test $ nano.cii

Plik bash został otwarty w „Edytorze GNU”. Dodaj kod bash pokazany poniżej, ponieważ znajduje się w pliku Bash. Ten kod będzie omawiać użycie GREP, podczas gdy wyrażenie regularne zostało w nim używane. Najpierw dodaj rozszerzenie Bash. Zadeklarowaliśmy zmienną „s” o przestrzeni i strunach jako jej wartości. Pierwsza instrukcja Echo wyświetla komunikat, że regularność została użyta z „GREP” w tym przykładowym kodzie. W następnym wierszu użyliśmy instrukcji ECHO do wyświetlenia zmiennej „S”. Podczas gdy GREP, polecenie zostało użyte do przeszukiwania tekstu „Word1” ze zmiennej „S”, która odpowiada wyrażeniu regularne podane na obrazie. Zapisz kod i zostaw go za pośrednictwem „Ctrl+S” i „Ctrl+X” w rzędzie.

Czas uruchomić nasz plik Bash, aby zobaczyć jego wyniki. Więc użyliśmy polecenia bash do uruchomienia pliku „Test testowy.cii". Wyjście pokazuje wynik zmiennej „S” wraz z komunikatem „z GREP”. Wskazuje to, że Regex działa doskonale w instrukcjach GREP.

$ BAST TEST.cii

Tym razem utwórzmy to samo dane wyjściowe dla instrukcji przypadków. Więc otwórz ponownie swój plik bash w edytorze za pomocą zapytania „Nano”. Dodaj rozszerzenie bash i zdefiniuj zmienną „S” z pewną wartością. Użyliśmy oświadczenia „echo” do opracowania teraz za pomocą instrukcji sprawy. Rozpoczęliśmy instrukcję sprawy podczas przeszukiwania zmiennej „S” w wyrażeniu regularnym zdefiniowanym w kodzie. Gdy znajdzie pasujący ciąg, musi wydrukować zmienną „S” w terminalu. Następnie oświadczenie sprawy zostało zakończone słowem kluczowym „ESAC”.

Podczas uruchamiania pliku bash w terminalu okazuje się, że rzuca wyjątek „Błąd składniowy w pobliżu nieoczekiwanego tokenu w [wyrażenie]”. To po prostu pokazuje, że wyrażenie regularne nie działa z oświadczeniem sprawy.

Test $ Bash.cii

Przykład 02:

Rzućmy się na inny przykład regularnych wyrażeń bash. Tym razem będziemy trochę inne wyrażenie regularne, aby zbadać działanie Regex. Z drugiej strony zobaczymy, jak Regex działa w oświadczeniu „Jeśli” zamiast „Oświadczenie o sprawie”. Otwórz więc „test.Plik sh ”ponownie.

Test $ nano.cii

Gdy plik jest teraz otwarty, dodaliśmy rozszerzenie Bash i używaliśmy instrukcji „If”, aby rozpocząć warunek. W instrukcji „jeśli” nie pozwala nam dodać żadnego wyrażenia regularnego. Dlatego użyliśmy wyrażenia „= ~”, aby utworzyć instancję regularności w kodzie. W ramach tego warunku dodaliśmy Regex za pomocą „$” jako prawidłowego wyrażenia regularnego. Gdy dodany znak odpowiada warunkom wyrażenia regularnego w instrukcji „If”, musi zapisać to wyrażenie na zmiennej „N” i wydrukować „poprawne”. Jeśli warunek nie spełnia, musi wydrukować „nieprawidłowy” w terminalu i zamknąć instrukcję „jeśli”. Wystarczy zapisać plik w skrócie „Ctrl+S” i zostaw edytor przez „Ctrl+X”.

Teraz, powracając do terminala, wypróbowaliśmy instrukcję wykonania Bash, aby uruchomić plik „Test.sh ”trzy razy, analizując niektóre postacie i symbole. Tym razem dodaliśmy postacie @, #i f. Wszystkie postacie zostały ogłoszone „nieprawidłowe” zgodnie z kodem BASH. Dzieje się tak, ponieważ użyliśmy wyrażenia regularnego, aby uznać „$” tylko jako ważne.

Test $ Bash.cii

Tym razem weźmy „$” w zapytaniu do wykonania, aby sprawdzić, jak to działa. Okazuje się, że „$” jest prawidłowym wyrażeniem i drukuje wyjście „prawidłowe” w skorupce konsoli.

Test $ Bash.cii

Przykład 03:

Miejmy inny i prosty przykład używania wyrażenia regularnego w instrukcji sprawy. Ponownie otwórzmy test Bash „.plik sh ”w edytorze Ubuntu 20.04 System.

Test $ nano.cii

Jako test.Plik Bash SH został uruchomiony w GNU Nano 4.8 Edytor terminalu, dodaj rozszerzenie Bash na początku pliku. Następnie wykorzystaliśmy instrukcję „odczyt” z flagą „-p”, aby przyjąć wejście jako nazwę serwera od użytkownika. Ta nazwa serwera jako wejścia zostanie zapisana w zmiennej „serwer”. Ten serwer musi być jakiś adres URL serwera domeny. Teraz wykorzystamy tutaj instrukcję sprawy, aby przetestować wyrażenie regularne. Tak więc rozpoczęliśmy instrukcję sprawy od serwera zmiennego, aby sprawdzić, czy dodana domena serwera wejściowego pasuje do innych instrukcji wymienionych w instrukcji sprawy, czy nie. Gdy wartość zmienna „serwer” pasowała do WS*[email protected], użyje instrukcji Echo, aby wyświetlić, że ta domena to „serwer WWW”. Jeśli pasuje do DB*[email protected], wykorzysta instrukcję „echo”, aby wyświetlić, że serwer jest jakiś „serwer DB”. Jeśli domena jest BK*[email protected], pokazuje „serwer kopii zapasowej”. W przeciwnym razie wyświetli się, że serwer jest nieznany. Asterisk reprezentuje Regex. Następnie instrukcja sprawy zostanie zamknięta słowem kluczowym „ESAC” w skrypcie. Zapisz ten kod i wyjdź z niego, wykorzystując te same skróty „Ctrl+S” i „Ctrl+X”.

Wracając do terminala, przetestujmy ten kod bash, wykonując polecenie bash z nazwą testu.plik sh. Po wykonaniu prosi użytkownika o dodanie nazwy użytkownika. Dodaliśmy prawidłową nazwę serwera „WS” z 1234 jako Regex i naciśnięta ENTER. Pokazuje, że składnia serwera pasuje do „serwera internetowego”.

Zrobiliśmy kolejne wykonanie i tym razem zmieniliśmy składnię serwera. Ponieważ kropka została pominięta z adresu URL domeny, wyświetla to, że serwer jest nieznany.

Kiedy dodamy podobną i poprawną domenę, wyświetla nazwę serwera.

Wniosek:

W tym samouczku omówiliśmy, jak wykorzystać oświadczenie o sprawie w Bash, aby używać wyrażeń regularnych. Mamy nadzieję, że ten artykuł pomógł ci w najlepszym wydaniu, aby wyeliminować wątpliwości i komplikacje.