Linux Subshells dla początkujących z przykładami
- 3548
- 463
- Maria Piwowarczyk
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
| 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…