Bash Advanced zmienne idiomy do zarządzania czułością przypadków
- 3673
- 1016
- Laura Zygmunt
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ątrzJeśli
sprawozdania - Szczegółowe przykłady są przykładem użycia
^
,^^
,,
I,,
Zastosowane wymagania i konwencje oprogramowania
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
- « Utwórz przekieruj i przepisuj reguły do .HTACCESS on Apache Webserver
- Jak czytać i tworzyć pliki CSV za pomocą Pythona »