Bash Advanced zmienne idiomy do zarządzania czułością przypadków

Bash Advanced zmienne idiomy do zarządzania czułością przypadków

Ilekroć pracujemy ze strunami tekstowymi, prędzej czy później pojawia się kwestia sprawy. Czy słowo musi być w pełni wielkie, w pełni małe, z literą literacką na początku słowa lub zdania, i tak dalej.

Idiom jest naturalnym wyrażeniem prostego zadania programowania. Na przykład w sen 10 polecenie (które zatrzyma terminal, w którym pracuje przez dziesięć sekund), słowo spać jest wyrażeniem w języku naturalnym tego, co jest oparte na czasowym konstruktie kodowania, opracowane w pakiecie oprogramowania Bash GNU Coreutils.

Istnieje wiele specjalnych idiomów związanych z zmiennymi (i.mi. sufiks, które można dodać do nazwy zmiennej, wskazując, co chcielibyśmy zrobić z daną zmienną), które można użyć w Bash, aby łatwiej wykonać tego rodzaju konwersje w locie Redaktor z wyrażeniem regularnym, aby zrobić to samo.

Jeśli jesteś zainteresowany użyciem wyrażeń regularnych, spójrz na naszą regexps Bash dla początkujących z przykładami zaawansowanej regi -bash z przykładami artykułów!

To sprawia, że ​​praca ze zmiennymi, które wymagają modyfikacji przypadków, lub Jeśli Oświadczenie o wiele łatwiej i zapewnia doskonałą elastyczność. Idiomy można dodawać bezpośrednio wewnątrz Jeśli oświadczenia i nie trzeba zatrudniać z podskorem sed.

Podczas gdy składnia wygląda na nieco skomplikowaną na początek, gdy nauczysz się małej sztuczki wsparcia umysłowego, aby zapamiętać właściwe klucze, będziesz na dobrej drodze do użycia tych idiomów w następnym skrypcie lub wbijanie scenariusza jedno-liniowego w wierszu poleceń!

W tym samouczku się nauczysz:

  • Jak używać ^, ^^, , I ,, Idiomy z zmiennymi sufitami Bash
  • Jak używać wyrażenia regularnego [] [] Idiom zasięg w połączeniu z nimi
  • Jak używać ^ I , idiomy bezpośrednio od wewnątrz Jeśli sprawozdania
  • Szczegółowe przykłady są przykładem użycia ^, ^^, , I ,,
Bash Advanced zmienne idiomy do zarządzania czułością przypadków

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Niezależny od rozkładu Linuksa
Oprogramowanie Wiersz poleceń Bash, system oparty na Linuksie
Inny Wszelkie narzędzie, które nie jest zawarte w skorupce Bash domyślnie można zainstalować za pomocą za pomocą sudo apt-get instal instal narzędzie (Lub Mnij instalacja dla systemów opartych na Redhat)
Konwencje # - Wymaga wykonywania Linux -Commands z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$-Wymaga wykonania Linux-commands jako zwykłego niepewnego użytkownika


Przykład 1: Wykonanie pełnych zmiennych wielkich

Zacznijmy od przykładu pokazującego, jak wydrukować zmienną jako wielką część:

$ Var = "Make Me UpperCase"; echo "$ var ^^" uczyń mnie wielką 

Najpierw ustawiamy zmienną Var Do Zrób mnie wielkimi. Sposób, w jaki to zrobiliśmy, używa ^^ Na końcu nazwy zmiennej - sufiks, Idiom Bash, aby poinformować interpretera wewnętrznego Bash, aby zastąpił nasz tekst wielką wersją.

Zauważ, że za każdym razem, gdy ustawia zmienną, użyje się Var = Składnia, rezygnacja z wiodącej zmiennej ($) Bash Idiom. Kolejne zastosowania, które same nie są ponownie przypisane, użyją $ składnia. Stąd echo używa $.

Możesz także zobaczyć I używane wokół nazwy zmiennej. Chociaż nie jest to ściśle konieczne:

$ Var = 1; echo $ var 1 

Jest to zdecydowanie polecam i osobiście zalecam to również, aby zawsze poprawnie cytować zmienne, ponieważ unika błędów, a nawet problemów takich jak tam, gdzie nie jest jasne dla interpretera Bash zakulisowych, gdy zmienna się kończy:

$ Var = "a"; echo „$ vara” 

W pierwszym przykładzie rozpoczyna się interpreter BASH, który rozpoczyna zmienną nazwę ($) i czytamy, aż osiągnie przestrzeń, jak można tu zobaczyć:

$ Var = "a"; echo "$ var a" a 

Tutaj musieliśmy przedstawić przestrzeń, aby zrobić nasze Echo działać poprawnie.

Innymi słowy, w naszym poprzednim przykładzie jest nazwa zmiennej, którą widzi Bash Vara i nie jest w stanie podzielić/zobaczyć, gdzie kończy się zmienna, a reszta odcinka do wyjścia lub ponownego uruchamiania. Porównajmy to ze zmiennymi odpowiednio enkapsulującymi z I :

$ Var = "a"; echo "$ var a" aa 

Tutaj nie widać żadnych problemów; jest jasne dla tłumacza bash $ Var jest zmienną i A to tekst, który należy podążać za nim, wszystko dzięki prawidłowym zamknięciu naszej zmiennej.

To również przekłada się również w mocny sposób na korzystanie z specjalnego ^^ idiom i inne takie idiomy bash. Przykładmy to:

$ Var = "Make Me UpperCase"; echo $ var ^^ Make Me Uppercase ^^ $ var = "Make Me UpperCase"; echo "$ var ^^" sprawiają, że mnie upczynie ^^ 

W takim przypadku Bash jest w stanie zobaczyć, że chcielibyśmy Var zmienne do wydrukowania, choć interpretuje ^^ jako tekst standardowy. Jak widać wyraźnie z tego i poprzednich przykładów, jest to najlepsza praktyka, aby zawsze otaczać nazwy zmiennych I .

Przykład 2: Wykonanie pełnych zmiennych małych liter

Teraz, gdy widzieliśmy, jak stworzyć pełną zmienną wielką ocenę za pomocą ^^ Idiom, przyjrzyjmy się, jak zmienić pełne zmienne na małe litery za pomocą ,, idiom:

$ Var = "Make Me Mały liass"; echo "$ var ,," czyń mnie małymi literami 

Jest to interesujący idiom składni ,, jako sufiks do zmiennej, ale działa poprawnie, jak pokazano.



Mała sztuczka mentalna, aby je zapamiętać

Świetnym sposobem/metodą zapamiętania czegokolwiek jest wizualne potwierdzenie lub wyobrażenie sobie, co należy zapamiętać. Jeśli możesz dodać do tego kilka konstrukcji mentalnych, takich jak tworzenie relacji z innymi rzeczami, prawdopodobnie następnym razem zapamiętasz to samo.

Chodzi o to, aby spojrzeć na swoją fizyczną klawiaturę, a jeśli używasz takiej klawiatury Querty, jak ja, zobaczysz to ^ jest Shift-6 i „jest tuż obok M. Jak to pomaga?

Po pierwsze, 6/^ klucz jest u góry i , Klucz znajduje się na dole. Następnie , Klucz to także ten na dole najbliższy nie-alfabetowy znak do 6 klucz. Wreszcie, oba klawisze są po prawej stronie klawiatury przypominające jedną z nich, że te idiomy są sufiksem, a nie przedrostkiem, do zmiennej

Po wizualnym potwierdzeniu tego raz lub dwukrotnego prawdopodobnie będzie on całkiem dobrze trzymać się pamięci i będziesz mógł użyć tych idiomów w następnym skrypcie Bash lub jednej linii bez ponownej ponownej ponownej odniesienia składni.

Przykład 3: Zmiana konkretnych liter

Możemy również stworzyć konkretną wielką literę:

$ Var = "Ababab cdcdcd"; echo "$ var ^^ b" aBabab cdcdcd 

Lub małe litery:

$ Var = "Ababab cdcdcd"; echo "$ var ,, c" aBabab cdcdcd 

Są tutaj dwa gotchas/ograniczenia. Po pierwsze, musimy określić właściwy przypadek listu na początek. W ten sposób określając małą zamiennik litery C nie będzie działać:

$ Var = "Ababab cdcdcd"; echo "$ var ,, c" aBabab cdcdcd 

Ponieważ po prostu nie ma małej litery C W tekście jest tylko C (wielki poziom), a to działa dobrze, ponieważ przykład pokazany powyżej ostatniego.

Nie możemy również określić wielu liter, używając jednego z tych przypuszczalnych, ale niereporujących formatów:

$ Var = "Ababab cdcdcd"; echo "$ var ,, cd" aBabab cdcdcd $ var = "aBabab cdcdcd"; echo "$ var ,, c ,, d" Ababab cdcdcd 

Sposobem, aby to działało prawidłowo, jest użycie formatu wyrażenia regularnego [… Lista wyboru…], następująco:

$ Var = "Ababab cdcdcd"; echo "$ var ,, [cd]" Ababab cdcdcd 

Uruchamianie zdania od wielkiego lub małego postaci

Możliwe jest również zmiana pierwszej litery:

$ Var = "Ababab cdcdcd"; echo "$ var^" aBabab cdcdcd $ var = "aBabab cdcdcd"; echo "$ var," aBabab cdcdcd 

Tutaj użyliśmy jednego ^ Lub , Aby pierwsza litera wielka lub małe litery.



Korzystanie z tych idiomów przyrostków zmiennych Bash od wewnątrz, jeśli instrukcje

Możemy również użyć tych idiomów przyrostków zmiennych Bash bezpośrednio od wewnątrz Jeśli sprawozdania:

$ Var = "abc"; if ["$ var ^^" == "abc"]; Następnie Echo „dopasował!';; else echo „nie dopasowane!';; Fi pasował! 

Tutaj mamy zmienną Var z wartością ABC. Następnie wewnątrz Jeśli stwierdzenie, dynamicznie zmieniamy zawartość zmiennej ABC używając $ Var ^^ Jak nasz pierwszy ciąg porównaj w Jeśli oświadczenie. Następnie porównujemy z ABC i mamy dopasowanie, udowadniając, że nasze wbudowane podstawy do wielkiego działania zadziałało.

Jest to znacznie prostsze niż uruchomienie subshell i robienie tego samego za pomocą sed i wyrażenie regularne:

$ Var = "abc"; if ["$ (echo" $ var "| sed 's | [a-z] | \ u & | g')" == "abc"]; Następnie Echo „dopasował!';; else echo „nie dopasowane!';; Fi pasował! 

\ U & w tym sed Instrukcje można odczytać jako „Zmień każde przechwytywanie (wykonane przez [A-Z] i odniesienia przez I W \ U &)do górnej części (\ U ') jego odpowiednik. Porównaj złożoność tego rozwiązania z poprzednim.

Kolejny przykład

$ Var = "abc"; if [["$ var ^^ b" == * "b" *]]; Następnie Echo „dopasował!';; else echo „nie dopasowane!';; Fi pasował! 

W tym przykładzie zmieniliśmy tekst ABC Do ABC używając $ Var ^^ b Jak opisano wcześniej (wielka tylko litera B). Następnie używamy porównania, który ma gwiazdkę po lewej i prawej stronie listu B. Oznacza to, że szukamy… dowolnego sznurka… a następnie B a następnie… dowolny ciąg… (Zauważ, że można również odejść z gwiazdki początkowej lub końcowej, aby dopasować zdania zaczynające B odpowiednio).

Wniosek

W tym artykule zbadaliśmy idiomy sufitów zmiennych Bash ^, ^^, , I ,,. Przyjrzeliśmy się, w jaki sposób można je wykorzystać do zastąpienia strun ich wyższymi i małymi wariantami oraz jak pracować z jednym lub większą liczbą indywidualnych liter, w tym utworzenie pierwszej litery lub małe litery.

Zbadaliśmy również, jak korzystać z tych idiomów dalej od wewnątrz bash, jeśli stwierdzenia. Wreszcie dostarczyliśmy proponowaną sztuczkę wspomagającą pamięć, aby pamiętać, jakie znaki można użyć i gdzie, jako idiomy bash dla górnej i małej podstawy tekstu.

Zostaw nam myśl z najfajniejszymi poleceniami podstawy tekstu! Cieszyć się!

Powiązane samouczki Linux:

  • Skrypt bash: pauza skrypt przed kontynuowaniem
  • Advanced Bash Regex z przykładami
  • Bash Tła zarządzanie procesami
  • Wielokrotyściowe skrypty i zarządzanie procesami w…
  • Pętle bash z przykładami
  • Specjalne zmienne bash z przykładami
  • Czas Twoje scenariusze i procedury Bash z wnętrza kodu
  • Bash Regexps dla początkujących z przykładami
  • Porównaj ciąg w Bash
  • Prawidłowe analizowanie zmiennej i cytowania w Bash