Bash Escape Quotes

Bash Escape Quotes
Cytowanie służy do wyłączenia specjalnego znaczenia znaków specjalnych. Istnieje wiele metacharaków skorupowych, które mają określone znaczenie. Ale kiedy będziesz musiał reprezentować te znaki, będzie to wymagało usunięcia specjalnego znaczenia tych znaków i odbywa się to poprzez cytowanie postaci. Możesz wykonać to zadanie, używając trzech sposobów. To są Escape Postacie, pojedyncze cytaty I podwójne cytaty które wyjaśniono przykładami w tym samouczku.

Postacie ucieczki:

Postać ucieczki Bash jest zdefiniowana przez nie-cytowane odwrotność (\). Zachowuje dosłowną wartość postaci, a następnie ten symbol. Zwykle symbol $ jest używany w BASH do reprezentowania dowolnej zdefiniowanej zmiennej. Ale jeśli używasz ucieczki przed $ Symbol Znaczenie $ zostanie zignorowane i wydrukuje nazwę zmiennej zamiast wartości. Uruchom następujące polecenia, aby pokazać efekty charakteru ucieczki (\).

Przykład 1:

Znaczenie 'PWD„Poleceniem jest wyświetlenie bieżącej ścieżki katalogu roboczego. W poniższym przykładzie wartość „PWD„Polecenie jest przechowywane w zmiennej. Gdy \ Symbol jest używany przed symbol $, wówczas nazwa zmiennej będzie drukowana zamiast wartości.

$ pd = 'pwd'
$ echo $ pd
$ echo \ $ pd

Wyjście:

Pojedyncze cytaty:

Kiedy zamkniesz znaki lub zmienną z pojedynczym cytatem ('), reprezentuje dosłowną wartość znaków. Tak więc wartość dowolnej zmiennej nie może być odczytana przez pojedynczy cytat, a pojedynczego cytatu nie można użyć w ramach innych pojedynczych cytatów. Niektóre przykłady pojedynczej cytatu pokazano poniżej.

Przykład nr 2:

W tym przykładzie wartość ciągu jest przechowywana w zmiennej $ var. 'Echo„Polecenie drukuje wartość tej zmiennej bez żadnych cytatów. Gdy zmienna jest cytowana przez pojedynczy cytat, nazwa zmiennej będzie drukowana jako wyjście. Jeśli przed pojedynczym cytatem użyje się backslash (\), wartość zmiennej zostanie wydrukowana za pomocą pojedynczego cytatu.

$ var = „Bash Scripting Language”
$ echo $ var
$ echo „$ var”
$ echo \ '$ var \'

Wyjście:

Przykład nr 3:

Czasami trzeba wydrukować pojedynczy cytat w ciągu. Pojedynczy cytowany ciąg nie może zawierać kolejnego pojedynczego cytatu wewnątrz ciągu. Możesz wykonać to zadanie, dodając backslash z przodu pojedynczego cytatu. W poniższym przykładzie pojedynczy cytat nie Słowo jest drukowane za pomocą backslash.

$ var = $ 'nie lubię tej książki' '
$ echo $ var

Wyjście:

Przykład nr 4:

BackTicks nie jest obsługiwany przez pojedyncze cytaty. W tym przykładzie wartość kalendarza jest przechowywana w zmiennej, $ var. Wartość tej zmiennej będzie drukowana prawidłowo przez Echo polecenie, jeśli nie użyjesz żadnej cytatu. Ale gdy zmienna jest cytowana przez pojedynczy cytat w poleceniu echo, drukuje nazwę zmiennej zamiast wartości zmiennej.

$ var = „cal”
$ echo $ var
$ echo „$ var”

Wyjście:

Podwójne cytaty

Podwójne cytaty (”) to kolejny sposób zachowania dosłownej wartości postaci. Znak dolara ($) i postacie backticks (') mogą zachować swoje szczególne znaczenie w podwójnych cytatach. BackSlash (\) może również zachować swoją wartość, gdy jest używany przez śledzenie wstecznych, podwójnej cytatu i backslash. Niektóre przykłady podwójnych cytatów pokazano poniżej.

Przykład nr 5:

Jednym ograniczeniem pojedynczego cytatu jest to, że nie może przeanalizować wartości zmiennej w cytacie. W tym przykładzie wartość ciągu jest przypisywana do zmiennej wymienionej, $ var i wydrukuj wartość tej zmiennej za pomocą podwójnego cytatu w poleceniu Echo.

$ var = 'Język skryptowy po stronie serwera' '
$ echo „php to $ var”

Wyjście:

Przykład nr 6:

Każde wyjście polecenia można wydrukować za pomocą podwójnej cytatu. W poniższym przykładzie, data Polecenie jest otoczone podwójnym cytatem i drukowane za pomocą podwójnego cytatu.

$ echo „Dzisiaj jest„ data ”

Wyjście:

Przykład#7:

Nie możesz użyć podwójnej cytatu w innej podwójnej cytatu, aby przypisać dowolną wartość ciągu. Jeśli chcesz wydrukować podwójną cytat na wyjściu, musisz użyć backslash (\) z ciągiem. W podobny sposób możesz wydrukować znaki backticks (') i backslash (\) w wyjściu za pomocą backslash (\) w podwójnym cytacie. W tym przykładzie pierwsze polecenie wydrukuje „500” z podwójnym cytatem, drugie polecenie wydrukuje „datę” z tylnymi, a trzecie polecenie wydrukuje „\ php \” z backslash.

$ echo „Cena wynosi \” 500 \ ””
$ echo "\ 'data \' jest używane dla wartości daty"
$ echo "\\ php \\ to język programowania"

Wyjście:

Przykład#8:

Sznurki podwójnie cytowane i jednofalowe działają tak samo, gdy są one używane razem bez miejsca w poleceniu drukowania. Ale jeśli użyjesz jakiegokolwiek miejsca między wartościami ciągów, będą one traktować jako osobną wartość i wydrukuj osobno. W tym przykładzie w pierwszym poleceniu printf używane są trzy sznurki podwójnie cytowane. Te ciągi połączą się i wydrują jako pojedynczy ciąg, gdy uruchomisz polecenie. W drugim komendzie drukowania używane są dwa jednokierunkowane i jedno podwójne sznurki. Trzy podwójnie cytowane ciągi z przestrzenią są używane w trzecim polece.

$ printf '%s \ n' „Ubuntu” „LinuxMint” „Fedora”
$ printf '%s \ n' 'Ubuntu' "LinuxMint" 'Fedora' '
$ printf '%s \ n' „Ubuntu” „LinuxMint” „Fedora”

Wyjście:

Przykład nr 9:

Utwórz plik bash o nazwie ucieczka.cii, i dodaj następujący kod. W tym przykładzie używane są dane tekstowe z podwójnymi cytatami i znakiem dolara. Wcześniej pokazano, że podwójny cytat i symbol dolara nie mogą wydrukować w ciągu zamkniętym przez podwójny cytat. Zatem opóźnienie jest dodawane przed podwójnymi cytatami i symbolem dolara, aby je wydrukować. Tutaj pętla jest używana do iteracji zmiennej łańcuchowej, $ String i wydrukuj każde słowo tekstu przechowywane w tej zmiennej.

#!/bin/bash
#Initializuj zmienną ze specjalnym znakiem
String = "Cena tej książki \" \ ""wynosi \ 50 $""
#Iteruj i wydrukuj każde słowo zmiennej łańcucha
Dla Word in $ String
Do
Echo $ Word
zrobione

Uruchom skrypt.

$ Bash Escape.cii

Wyjście:

Wniosek

Mam nadzieję, że ten samouczek pomoże Ci użyć znaków ucieczki, pojedynczego cytatu i podwójnej cytatu w oparciu o wymagania twojego skryptu.

"