Якщо включати буквальний символ цитати всередині цитованого рядка в Powershell, як я можу уникнути символу цитати, щоб вказати, що це буквальний, а не деліметр рядка?
Якщо включати буквальний символ цитати всередині цитованого рядка в Powershell, як я можу уникнути символу цитати, щоб вказати, що це буквальний, а не деліметр рядка?
Відповіді:
З help about_quoting_rules
Щоб знаки подвійного лапки відображалися в рядку, додайте всю рядок до одиничних лапок. Наприклад:
'As they say, "live and learn."'
Вихід з цієї команди:
As they say, "live and learn."
Ви також можете укласти одноцитуваний рядок у рядок з подвійним котируванням. Наприклад:
"As they say, 'live and learn.'"
Вихід з цієї команди:
As they say, 'live and learn.'
Щоб змусити Windows PowerShell буквально інтерпретувати подвійний лапки, використовуйте символ зворотного відбору. Це заважає Windows PowerShell інтерпретувати лапки як розділовий рядок. Наприклад:
"Use a quotation mark (`") to begin a string."
Вихід з цієї команди:
Use a quotation mark (") to begin a string.
Оскільки зміст рядків з одним цитуванням інтерпретується буквально, ви не можете використовувати символ "backtick", щоб змусити буквальну інтерпретацію символів у рядку з цитуванням.
В останніх версіях PowerShell не підтримується використання символу backtick для виходу з інших лапок в одинарних рядках, що цитуються. У більш ранніх версіях PowerShell символ втечі "backtick" міг би використовуватися для виходу з подвійного символу лапки в межах одного цитованого рядка, як це детально описано в help about_quoting
документі, який доступний у цих версіях PowerShell.
'As they say, ''live and learn.'''
виходить As they say, 'live and learn.'
, те саме, що і ваш другий приклад.
Персонажем втечі в Powershell є "" "(відсталий апостроф / могила).
Це можна використовувати для виходу з лапок, а також спеціальних символів (наприклад, вкладка `t).
bash
розуму користувачів. (Характер cmd.exe
втечі є ^
)
Щоб зробити комплімент тому, що вже було надано тут, ви також повинні знати, що ви можете уникнути цитати (одинарної чи подвійної) із самою цитатою. Це означає, що ви можете це зробити:
"Ось приклад рядка з подвійним цитуванням" "."
і це:
"Цього разу це'''одноцитування ''."
Перевага, яку надає цей синтаксис, проста: легше набрати одну і ту ж цитату двічі, ніж уникнути цитати за допомогою зворотного вибору.
одиночний "текст", тому він трактується як буквальний текст, а потім уникайте будь-яких спеціальних символів за допомогою "\"
напр., цей рядок: "Як кажуть," живи і вчися "." Стає цією строкою "Як кажуть", "живи і вчися. \" "
PowerShell.exe -Command
та намагаєтесь передавати подвійні лапки в параметрі (як технічно це CMD уникає цього, але він дійсний у командному параметрі). imgur.com/1btjoQW
about_quoting
допомоги. Запуск Powerhell v5.1. Уникнення подвійних лапок або вкладення різних типів цитат все ще працює як очікується.