Kiedy włączam literę cudzysłowu w łańcuchu cytowanym w programie Powershell, jak mogę uciec od znaku cudzysłowu, aby wskazać, że jest to literał zamiast ogranicznika łańcucha?
Kiedy włączam literę cudzysłowu w łańcuchu cytowanym w programie Powershell, jak mogę uciec od znaku cudzysłowu, aby wskazać, że jest to literał zamiast ogranicznika łańcucha?
Odpowiedzi:
Od help about_quoting_rules
Aby znaki podwójnego cudzysłowu pojawiały się w ciągu, umieść cały ciąg w pojedynczych cudzysłowach. Na przykład:
'As they say, "live and learn."'
Dane wyjściowe tego polecenia to:
As they say, "live and learn."
Możesz także zawrzeć ciąg cudzysłowu w ciągu cudzysłowu. Na przykład:
"As they say, 'live and learn.'"
Dane wyjściowe tego polecenia to:
As they say, 'live and learn.'
Aby zmusić program Windows PowerShell do interpretacji podwójnego cudzysłowu dosłownie, użyj znaku wstecznego. Zapobiega to interpretowaniu przez program Windows PowerShell znaku cudzysłowu jako ogranicznika łańcucha. Na przykład:
"Use a quotation mark (`") to begin a string."
Dane wyjściowe tego polecenia to:
Use a quotation mark (") to begin a string.
Ponieważ treść ciągów pojedynczych jest interpretowana dosłownie, nie można użyć znaku wstecznego, aby wymusić interpretację znaków dosłownych w ciągu pojedynczym.
Użycie znaku wstecznego do zmiany znaku cudzysłowu w ciągach pojedynczych nie jest obsługiwane w najnowszych wersjach programu PowerShell. We wcześniejszych wersjach programu PowerShell znak ucieczki w tył mógł być używany do zmiany znaku podwójnego cudzysłowu w ciągu pojedynczego cudzysłowu, jak opisano szczegółowo w help about_quoting
dokumencie dostępnym w tych wersjach programu PowerShell.
'As they say, ''live and learn.'''
wyniki są As they say, 'live and learn.'
takie same jak w drugim przykładzie.
Znakiem ucieczki w programie Powershell jest „(” wstecz apostrof / grób).
Można tego użyć do zmiany cudzysłowów oraz znaków specjalnych (np. Tab to `t).
bash
użytkowników do szaleństwa. (Postać cmd.exe
ucieczki to ^
)
Aby uzupełnić to, co już tutaj podano, powinieneś również wiedzieć, że możesz uciec od cytatu (pojedynczego lub podwójnego) z samym cytatem. Oznacza to, że możesz to zrobić:
„Oto przykład„ ”cudzysłowu„ ”.”
i to:
„Tym razem jest to„ pojedynczy cytat ”.
Zaleta tej składni jest prosta: łatwiej jest wpisać ten sam cytat dwa razy, niż uniknąć cytatu za pomocą backsticka.
pojedynczy „tekst”, dlatego jest traktowany jak tekst dosłowny, a następnie uciec od znaków specjalnych za pomocą „\”
np. Ten ciąg: „Jak mówią” żyj i ucz się. ”„ Staje się tym ciągiem „Jak mówią:„ żyj i ucz się ”.
PowerShell.exe -Command
i próbujesz przekazać podwójne cudzysłowy w parametrze (ponieważ technicznie technicznie jest to CMD, ale jest poprawne w parametrze polecenia). imgur.com/1btjoQW
about_quoting
pomocy. Uruchamianie programu PowerShell v5.1. Unikanie podwójnych cudzysłowów lub zagnieżdżanie różnych rodzajów cudzysłowów nadal działa zgodnie z oczekiwaniami.