Linux Subshells dla początkujących z przykładami

Linux Subshells dla początkujących z przykładami

Korzystanie z subshells w Bash zapewnia możliwość generowania informacji wrażliwych na kontekst z prawej strony polecenia Bash. Na przykład, jeśli chcesz zmodyfikować ciąg tekstowy w obrębie Echo stwierdzenie, wówczas można to zrobić łatwo za pomocą subshells.

W tym samouczku się nauczysz:

  • Jak używać zastosowania używania subshells w Bash
  • Jak korzystać z podseksów do uzyskania informacji wrażliwych na kontekst
  • Podstawowe przykłady użycia bashu
Linux Subshells dla początkujących z przykładami

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: Dwie różne składni

Bash pozwala na dwie różne składni subshella, a mianowicie $ () i otaczające się oświadczenia. Spójrzmy na kilka łatwych przykładów na początek:

$ echo '$ (echo' a ')' $ (echo a) $ echo "$ (echo 'a')" a $ echo "a $ (echo 'b') c" abc $ echo "a'echo 'b „C” ABC 


W pierwszym poleceniu, jako przykład, użyliśmy ' pojedyncze cytaty. Spowodowało to nasze polecenie Subshell, wewnątrz pojedynczych cytatów, do interpretacji jako tekst dosłowny zamiast polecenia. To jest standardowy bash: ' Wskazuje dosłownie, " Wskazuje, że ciąg zostanie przeanalizowany dla subshells i zmiennych.

W drugim poleceniu zamieniamy ' Do " i dlatego ciąg jest analizowany dla rzeczywistych poleceń i zmiennych. W rezultacie uruchamiana jest subshell, dzięki naszej składni subshell ($ ()) i polecenie wewnątrz subshellecho „a”) jest wykonywany dosłownie, a zatem A jest produkowany, co jest wtedy wstawione na nadrzędnym / najwyższym poziomie Echo. Polecenie na tym etapie można odczytać jako Echo „A” a zatem wyjście jest A.

W trzeciem polece. Powtarzamy list B wewnątrz subshellów, a to jest połączone po lewej i po prawej stronie literami A I C dając ogólną wydajność ABC W podobny sposób jak drugie polecenie.

W czwartym i ostatnim poleceniu przykładujemy alternatywną składnię subshell bash, używając tylnych biletów zamiast $ (). Ważne jest, aby to wiedzieć $ () jest preferowaną składnią i że w niektórych zdalnych przypadkach składnia oparta na tylnej $ () nie. W ten sposób mocno zachęcałbym cię do korzystania z $ () składnia dla subshells, a także tego będziemy używać w następujących przykładach.

Przykład 2: Trochę bardziej złożone

$ Touch a $ echo "-$ (ls [a-z])" -a $ echo "-=-|| $ (ls [a-z] | xargs ls -l) ||-=-"-=-|| -RW -RW-R-- 1 Roel Roel 0 września 5 09:26 A ||-=- 

Tutaj najpierw tworzymy pusty plik, używając Dotknij a Komenda. Następnie używamy Echo Aby wyprowadzić coś, co nasza subshell $ (ls [a-z]) wygeneruje. Jasne, możemy wykonać LS bezpośrednio i daj mniej więcej taki sam wynik, ale zwróć uwagę na to, jak dodajemy - do wyjścia jako prefiks.

W ostatecznym poleceniu wstawiamy niektóre znaki z przodu i na końcu Echo polecenie, które sprawia, że ​​wyjście wygląda nieco ładniej. Używamy subshell, aby najpierw znaleźć A plik, który utworzyliśmy wcześniej (LS [A-Z]), a następnie - wciąż wewnątrz subshell - przejdź wyniki tego polecenia (które byłyby tylko A dosłownie - ja.mi. plik, który utworzyliśmy w pierwszym poleceniu) do ls -l za pomocą rury (|) i Xargs Komenda. Aby uzyskać więcej informacji na temat XARGS, zapoznaj się z naszymi artykułami Xargs dla początkujących z przykładami i multi wątku Xarg z przykładami.

Przykład 3: Podwójne cytaty wewnątrz subshells i subshells!

echo "$ (echo" $ (echo "it pracuje") "| sed 's | it | it z pewnością |')" z pewnością działa 


Fajnie, nie? Widzimy tutaj, że podwójne cytaty można używać w subshellowie bez generowania błędów antenu. Widzimy również, w jaki sposób subshell może zostać zagnieżdżona w innej subshell. Czy możesz przeanalizować składnię? Najłatwiejszym sposobem jest rozpoczęcie „w środku lub rdzeniu wszystkich subshellów”, co w tym przypadku byłoby proste echo „to działa”.

To polecenie wyniesie to działa W wyniku połączenia subshell $ (echo „it działa”). Zdjęcie to działa Zamiast podseksui, ja.mi.

echo "$ (echo" it działa "| sed 's | it | to z pewnością |')" To z pewnością działa 

To już wygląda prostsze. Następnie pomocne jest wiedzieć, że sed Dowództwo dokona substytutu (dzięki S polecenie tuż przed | separator poleceń) tekstu To Do to na pewno. Możesz przeczytać sed polecenie jako Zamień __it__ na pewno __. Wyjście subshell będą zatemto na pewno działa ”, ja.mi.

echo „z pewnością działa”, z pewnością działa 

Wniosek

W tym artykule widzieliśmy, że subshells na pewno pracuj (zamierzone gra słów) i że mogą być używane w różnych okolicznościach, ze względu. Subshells są bardzo potężne, a kiedy zaczniesz ich używać, cóż, prawdopodobnie nie będzie się zatrzymać. Wkrótce będziesz pisać coś w stylu:

$ Var = „Goodbye”; echo "Thanch $ (echo" $ var "| sed 's |^| i |')" | sed | k | k you | ' 

Ten jest dla ciebie, abyś mógł się bawić! Dziękuję i pożegnanie

Powiązane samouczki Linux:

  • Jak używać bash subshells w środku, jeśli instrukcje
  • Zaawansowane podpsy Linux z przykładami
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Wielokrotyściowe skrypty i zarządzanie procesami w…
  • Mastering Bash Script Loops
  • Podstawowe polecenia Linux
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…