Використання Escape-послідовностей в PowerShell.
Практично в кожній мові програмування є еscape-символи - спеціальні символи, за допомогою яких можна змінювати властивості наступних за ними символів. Наявність escape-символа говорить про те, що наступний за ним символ (або символи) слід обробляти особливим чином. Комбінація escape-символа і наступних за ним символів називається escape-послідовністю.
В PowerShell як escape-символа використовується знак зворотного апострофа ( `). З його допомогою можна проводити наступні операції.
Екранування змінної
Escape-символ перед знаком $ забороняє підставити замість змінної її значення. Наприклад так ми отримаємо значення змінної $ a:
$ a = 200
"The value is $ a"
а так її ім'я:
$ a = 200
"The value is` $ a "
Примітка.Зверніть увагу, що escape-послідовності обов'язково повинні бути укладені в лапки.
Ще приклад. Припустимо, що нам необхідно використовувати знак $ (dollar) за його прямим призначенням, наприклад вивести фразу:
"It costs $ 200"
Однак після знака $ ми отримаємо пусте місце.А ось якщо перед знаком $ поставити escape-символ, то все вийде як треба:
"It costs` $ 200 "
Екранування лапок
в одній з попередніх статей я описував особливості використання лапок в PowerShell. Нагадаю, що в одному рядку можна використовувати дві пари однакових лапок.Наприклад наступна команди викличе помилку:
"He said" yes "."
В цій ситуації необхідно або використовувати різні типи лапок, або скористатися escape-символом. Якщо помістити його перед подвійними лапками, то PowerShell інтерпретує їх як звичайний символ, а не як роздільник рядків:
"He said` "yes`"."
Перенесення рядка
Escape-символ в кінці рядка вказує на те, що команда буде продовжена на наступному рядку. Таким чином зручно розбивати на частини довгі команди. Наприклад:
Get-Process | `
where`
{$ _. Name -match" \ d "}
Форматування
Деякі escape-послідовності при використанні з лапками створюють керуючі інструкції, за допомогою яких можна управляти висновком.PowerShell розуміє наступні послідовності:
`0 - порожній символ (Null);
` a - звуковий сигнал передається на системний динамік;
`b - повернення (backspace);
`f - друк з нової сторінки;
` n - символ нового рядка;
`r - назад до початку рядка;
` t - горизонтальна табуляція;
`v - вертикальна табуляція.
Їх зручно використовувати в тому випадку, якщо потрібно певним чином відформатувати висновок команди. Для прикладу оформимо вихідні дані у вигляді таблиці:
"` 0 one `t two` t three n `0` n four `t five` t six `n seven` t eight `t nine` n ` 0 "
Довідку по escape-послідовностей PowerShell можна викликати командою Get-Help about_esc.П>.